package org.xtext.example.mydsl.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.xtext.example.mydsl.services.MyDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMyDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'library'", "'{'", "'}'", "'scene'", "'parametric'", "';'", "'width'", "':'", "'length'", "'height'", "'texture'", "'imageUrl'", "'color'", "'translation'", "'('", "','", "')'", "'prototype'", "'wall'", "'start'", "'end'", "'point'", "'roof'", "'elevation'", "'door'", "'position'", "'window'", "'heightAboveGround'", "'margin'", "'value'", "'building'", "'circle'", "'radius'", "'polygon'"
    };
    public static final int RULE_ID=4;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int EOF=-1;
    public static final int T__19=19;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__44=44;
    public static final int RULE_SL_COMMENT=8;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int RULE_STRING=5;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalMyDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMyDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMyDslParser.tokenNames; }
    public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; }


     
     	private MyDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleModel"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:60:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: ( ruleModel EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
            ruleModel();

            state._fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleModel"


    // $ANTLR start "ruleModel"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:69:1: ruleModel : ( ( rule__Model__ElementsAssignment )* ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:73:2: ( ( ( rule__Model__ElementsAssignment )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__ElementsAssignment )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__ElementsAssignment )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( rule__Model__ElementsAssignment )*
            {
             before(grammarAccess.getModelAccess().getElementsAssignment()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__Model__ElementsAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==11||LA1_0==14) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:2: rule__Model__ElementsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Model__ElementsAssignment_in_ruleModel94);
            	    rule__Model__ElementsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getElementsAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleModel"


    // $ANTLR start "entryRuleType"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:88:1: entryRuleType : ruleType EOF ;
    public final void entryRuleType() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: ( ruleType EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ruleType EOF
            {
             before(grammarAccess.getTypeRule()); 
            pushFollow(FOLLOW_ruleType_in_entryRuleType122);
            ruleType();

            state._fsp--;

             after(grammarAccess.getTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleType129); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleType"


    // $ANTLR start "ruleType"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:97:1: ruleType : ( ( rule__Type__Alternatives ) ) ;
    public final void ruleType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:101:2: ( ( ( rule__Type__Alternatives ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Type__Alternatives ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Type__Alternatives ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( rule__Type__Alternatives )
            {
             before(grammarAccess.getTypeAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Type__Alternatives )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:2: rule__Type__Alternatives
            {
            pushFollow(FOLLOW_rule__Type__Alternatives_in_ruleType155);
            rule__Type__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleType"


    // $ANTLR start "entryRuleLibrary"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:116:1: entryRuleLibrary : ruleLibrary EOF ;
    public final void entryRuleLibrary() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: ( ruleLibrary EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ruleLibrary EOF
            {
             before(grammarAccess.getLibraryRule()); 
            pushFollow(FOLLOW_ruleLibrary_in_entryRuleLibrary182);
            ruleLibrary();

            state._fsp--;

             after(grammarAccess.getLibraryRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLibrary189); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLibrary"


    // $ANTLR start "ruleLibrary"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:125:1: ruleLibrary : ( ( rule__Library__Group__0 ) ) ;
    public final void ruleLibrary() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:129:2: ( ( ( rule__Library__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Library__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Library__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( rule__Library__Group__0 )
            {
             before(grammarAccess.getLibraryAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Library__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:2: rule__Library__Group__0
            {
            pushFollow(FOLLOW_rule__Library__Group__0_in_ruleLibrary215);
            rule__Library__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getLibraryAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLibrary"


    // $ANTLR start "entryRuleScene"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:144:1: entryRuleScene : ruleScene EOF ;
    public final void entryRuleScene() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: ( ruleScene EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ruleScene EOF
            {
             before(grammarAccess.getSceneRule()); 
            pushFollow(FOLLOW_ruleScene_in_entryRuleScene242);
            ruleScene();

            state._fsp--;

             after(grammarAccess.getSceneRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleScene249); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleScene"


    // $ANTLR start "ruleScene"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:153:1: ruleScene : ( ( rule__Scene__Group__0 ) ) ;
    public final void ruleScene() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:157:2: ( ( ( rule__Scene__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__Scene__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__Scene__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( rule__Scene__Group__0 )
            {
             before(grammarAccess.getSceneAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__Scene__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:2: rule__Scene__Group__0
            {
            pushFollow(FOLLOW_rule__Scene__Group__0_in_ruleScene275);
            rule__Scene__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSceneAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleScene"


    // $ANTLR start "entryRuleParametric"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:172:1: entryRuleParametric : ruleParametric EOF ;
    public final void entryRuleParametric() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: ( ruleParametric EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ruleParametric EOF
            {
             before(grammarAccess.getParametricRule()); 
            pushFollow(FOLLOW_ruleParametric_in_entryRuleParametric302);
            ruleParametric();

            state._fsp--;

             after(grammarAccess.getParametricRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleParametric309); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleParametric"


    // $ANTLR start "ruleParametric"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:181:1: ruleParametric : ( ( rule__Parametric__Group__0 ) ) ;
    public final void ruleParametric() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:185:2: ( ( ( rule__Parametric__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__Parametric__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__Parametric__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( rule__Parametric__Group__0 )
            {
             before(grammarAccess.getParametricAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__Parametric__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:2: rule__Parametric__Group__0
            {
            pushFollow(FOLLOW_rule__Parametric__Group__0_in_ruleParametric335);
            rule__Parametric__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleParametric"


    // $ANTLR start "entryRuleTexture"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:200:1: entryRuleTexture : ruleTexture EOF ;
    public final void entryRuleTexture() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:201:1: ( ruleTexture EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:202:1: ruleTexture EOF
            {
             before(grammarAccess.getTextureRule()); 
            pushFollow(FOLLOW_ruleTexture_in_entryRuleTexture362);
            ruleTexture();

            state._fsp--;

             after(grammarAccess.getTextureRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTexture369); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTexture"


    // $ANTLR start "ruleTexture"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:209:1: ruleTexture : ( ( rule__Texture__Group__0 ) ) ;
    public final void ruleTexture() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:2: ( ( ( rule__Texture__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ( rule__Texture__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ( rule__Texture__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ( rule__Texture__Group__0 )
            {
             before(grammarAccess.getTextureAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:216:1: ( rule__Texture__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:216:2: rule__Texture__Group__0
            {
            pushFollow(FOLLOW_rule__Texture__Group__0_in_ruleTexture395);
            rule__Texture__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTextureAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTexture"


    // $ANTLR start "entryRuleTranslation"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:228:1: entryRuleTranslation : ruleTranslation EOF ;
    public final void entryRuleTranslation() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:229:1: ( ruleTranslation EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:230:1: ruleTranslation EOF
            {
             before(grammarAccess.getTranslationRule()); 
            pushFollow(FOLLOW_ruleTranslation_in_entryRuleTranslation422);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getTranslationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTranslation429); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTranslation"


    // $ANTLR start "ruleTranslation"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:237:1: ruleTranslation : ( ( rule__Translation__Group__0 ) ) ;
    public final void ruleTranslation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:241:2: ( ( ( rule__Translation__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__Translation__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__Translation__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( rule__Translation__Group__0 )
            {
             before(grammarAccess.getTranslationAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__Translation__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:2: rule__Translation__Group__0
            {
            pushFollow(FOLLOW_rule__Translation__Group__0_in_ruleTranslation455);
            rule__Translation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTranslationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTranslation"


    // $ANTLR start "entryRulePrototype"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:256:1: entryRulePrototype : rulePrototype EOF ;
    public final void entryRulePrototype() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: ( rulePrototype EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: rulePrototype EOF
            {
             before(grammarAccess.getPrototypeRule()); 
            pushFollow(FOLLOW_rulePrototype_in_entryRulePrototype482);
            rulePrototype();

            state._fsp--;

             after(grammarAccess.getPrototypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePrototype489); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePrototype"


    // $ANTLR start "rulePrototype"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:265:1: rulePrototype : ( ( rule__Prototype__Group__0 ) ) ;
    public final void rulePrototype() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:269:2: ( ( ( rule__Prototype__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__Prototype__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__Prototype__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( rule__Prototype__Group__0 )
            {
             before(grammarAccess.getPrototypeAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( rule__Prototype__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:2: rule__Prototype__Group__0
            {
            pushFollow(FOLLOW_rule__Prototype__Group__0_in_rulePrototype515);
            rule__Prototype__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPrototypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePrototype"


    // $ANTLR start "entryRuleWall"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:284:1: entryRuleWall : ruleWall EOF ;
    public final void entryRuleWall() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:285:1: ( ruleWall EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:286:1: ruleWall EOF
            {
             before(grammarAccess.getWallRule()); 
            pushFollow(FOLLOW_ruleWall_in_entryRuleWall542);
            ruleWall();

            state._fsp--;

             after(grammarAccess.getWallRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWall549); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleWall"


    // $ANTLR start "ruleWall"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:293:1: ruleWall : ( ( rule__Wall__Group__0 ) ) ;
    public final void ruleWall() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:297:2: ( ( ( rule__Wall__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:1: ( ( rule__Wall__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:1: ( ( rule__Wall__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( rule__Wall__Group__0 )
            {
             before(grammarAccess.getWallAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:1: ( rule__Wall__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:2: rule__Wall__Group__0
            {
            pushFollow(FOLLOW_rule__Wall__Group__0_in_ruleWall575);
            rule__Wall__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getWallAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleWall"


    // $ANTLR start "entryRulePoint"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:312:1: entryRulePoint : rulePoint EOF ;
    public final void entryRulePoint() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:313:1: ( rulePoint EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:1: rulePoint EOF
            {
             before(grammarAccess.getPointRule()); 
            pushFollow(FOLLOW_rulePoint_in_entryRulePoint602);
            rulePoint();

            state._fsp--;

             after(grammarAccess.getPointRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePoint609); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePoint"


    // $ANTLR start "rulePoint"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:321:1: rulePoint : ( ( rule__Point__Group__0 ) ) ;
    public final void rulePoint() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:325:2: ( ( ( rule__Point__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:1: ( ( rule__Point__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:1: ( ( rule__Point__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( rule__Point__Group__0 )
            {
             before(grammarAccess.getPointAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:1: ( rule__Point__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:2: rule__Point__Group__0
            {
            pushFollow(FOLLOW_rule__Point__Group__0_in_rulePoint635);
            rule__Point__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPointAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePoint"


    // $ANTLR start "entryRuleRoof"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:340:1: entryRuleRoof : ruleRoof EOF ;
    public final void entryRuleRoof() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:341:1: ( ruleRoof EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:342:1: ruleRoof EOF
            {
             before(grammarAccess.getRoofRule()); 
            pushFollow(FOLLOW_ruleRoof_in_entryRuleRoof662);
            ruleRoof();

            state._fsp--;

             after(grammarAccess.getRoofRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRoof669); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRoof"


    // $ANTLR start "ruleRoof"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:349:1: ruleRoof : ( ( rule__Roof__Group__0 ) ) ;
    public final void ruleRoof() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:353:2: ( ( ( rule__Roof__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( ( rule__Roof__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( ( rule__Roof__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:355:1: ( rule__Roof__Group__0 )
            {
             before(grammarAccess.getRoofAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:1: ( rule__Roof__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:2: rule__Roof__Group__0
            {
            pushFollow(FOLLOW_rule__Roof__Group__0_in_ruleRoof695);
            rule__Roof__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRoofAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRoof"


    // $ANTLR start "entryRuleOpening"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:368:1: entryRuleOpening : ruleOpening EOF ;
    public final void entryRuleOpening() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:369:1: ( ruleOpening EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:370:1: ruleOpening EOF
            {
             before(grammarAccess.getOpeningRule()); 
            pushFollow(FOLLOW_ruleOpening_in_entryRuleOpening722);
            ruleOpening();

            state._fsp--;

             after(grammarAccess.getOpeningRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleOpening729); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleOpening"


    // $ANTLR start "ruleOpening"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:377:1: ruleOpening : ( ( rule__Opening__Alternatives ) ) ;
    public final void ruleOpening() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:381:2: ( ( ( rule__Opening__Alternatives ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( ( rule__Opening__Alternatives ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( ( rule__Opening__Alternatives ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:383:1: ( rule__Opening__Alternatives )
            {
             before(grammarAccess.getOpeningAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:1: ( rule__Opening__Alternatives )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:2: rule__Opening__Alternatives
            {
            pushFollow(FOLLOW_rule__Opening__Alternatives_in_ruleOpening755);
            rule__Opening__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getOpeningAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleOpening"


    // $ANTLR start "entryRuleDoor"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:396:1: entryRuleDoor : ruleDoor EOF ;
    public final void entryRuleDoor() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:397:1: ( ruleDoor EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:398:1: ruleDoor EOF
            {
             before(grammarAccess.getDoorRule()); 
            pushFollow(FOLLOW_ruleDoor_in_entryRuleDoor782);
            ruleDoor();

            state._fsp--;

             after(grammarAccess.getDoorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDoor789); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDoor"


    // $ANTLR start "ruleDoor"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: ruleDoor : ( ( rule__Door__Group__0 ) ) ;
    public final void ruleDoor() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:409:2: ( ( ( rule__Door__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:1: ( ( rule__Door__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:1: ( ( rule__Door__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:411:1: ( rule__Door__Group__0 )
            {
             before(grammarAccess.getDoorAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:1: ( rule__Door__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:2: rule__Door__Group__0
            {
            pushFollow(FOLLOW_rule__Door__Group__0_in_ruleDoor815);
            rule__Door__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDoor"


    // $ANTLR start "entryRuleWindow"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:424:1: entryRuleWindow : ruleWindow EOF ;
    public final void entryRuleWindow() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:425:1: ( ruleWindow EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:426:1: ruleWindow EOF
            {
             before(grammarAccess.getWindowRule()); 
            pushFollow(FOLLOW_ruleWindow_in_entryRuleWindow842);
            ruleWindow();

            state._fsp--;

             after(grammarAccess.getWindowRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWindow849); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleWindow"


    // $ANTLR start "ruleWindow"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:433:1: ruleWindow : ( ( rule__Window__Group__0 ) ) ;
    public final void ruleWindow() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:437:2: ( ( ( rule__Window__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:1: ( ( rule__Window__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:1: ( ( rule__Window__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:439:1: ( rule__Window__Group__0 )
            {
             before(grammarAccess.getWindowAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:1: ( rule__Window__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:2: rule__Window__Group__0
            {
            pushFollow(FOLLOW_rule__Window__Group__0_in_ruleWindow875);
            rule__Window__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleWindow"


    // $ANTLR start "entryRuleMargin"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:452:1: entryRuleMargin : ruleMargin EOF ;
    public final void entryRuleMargin() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:453:1: ( ruleMargin EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ruleMargin EOF
            {
             before(grammarAccess.getMarginRule()); 
            pushFollow(FOLLOW_ruleMargin_in_entryRuleMargin902);
            ruleMargin();

            state._fsp--;

             after(grammarAccess.getMarginRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMargin909); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMargin"


    // $ANTLR start "ruleMargin"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:461:1: ruleMargin : ( ( rule__Margin__Group__0 ) ) ;
    public final void ruleMargin() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:465:2: ( ( ( rule__Margin__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:1: ( ( rule__Margin__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:1: ( ( rule__Margin__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( rule__Margin__Group__0 )
            {
             before(grammarAccess.getMarginAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:1: ( rule__Margin__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:2: rule__Margin__Group__0
            {
            pushFollow(FOLLOW_rule__Margin__Group__0_in_ruleMargin935);
            rule__Margin__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMarginAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMargin"


    // $ANTLR start "entryRuleBuilding"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: entryRuleBuilding : ruleBuilding EOF ;
    public final void entryRuleBuilding() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:481:1: ( ruleBuilding EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:482:1: ruleBuilding EOF
            {
             before(grammarAccess.getBuildingRule()); 
            pushFollow(FOLLOW_ruleBuilding_in_entryRuleBuilding962);
            ruleBuilding();

            state._fsp--;

             after(grammarAccess.getBuildingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBuilding969); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBuilding"


    // $ANTLR start "ruleBuilding"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:489:1: ruleBuilding : ( ( rule__Building__Group__0 ) ) ;
    public final void ruleBuilding() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:493:2: ( ( ( rule__Building__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( ( rule__Building__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( ( rule__Building__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:495:1: ( rule__Building__Group__0 )
            {
             before(grammarAccess.getBuildingAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:1: ( rule__Building__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:2: rule__Building__Group__0
            {
            pushFollow(FOLLOW_rule__Building__Group__0_in_ruleBuilding995);
            rule__Building__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBuildingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBuilding"


    // $ANTLR start "entryRuleSurface"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:508:1: entryRuleSurface : ruleSurface EOF ;
    public final void entryRuleSurface() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:509:1: ( ruleSurface EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:1: ruleSurface EOF
            {
             before(grammarAccess.getSurfaceRule()); 
            pushFollow(FOLLOW_ruleSurface_in_entryRuleSurface1022);
            ruleSurface();

            state._fsp--;

             after(grammarAccess.getSurfaceRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSurface1029); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSurface"


    // $ANTLR start "ruleSurface"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:517:1: ruleSurface : ( ( rule__Surface__Alternatives ) ) ;
    public final void ruleSurface() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:521:2: ( ( ( rule__Surface__Alternatives ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:1: ( ( rule__Surface__Alternatives ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:1: ( ( rule__Surface__Alternatives ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:523:1: ( rule__Surface__Alternatives )
            {
             before(grammarAccess.getSurfaceAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:1: ( rule__Surface__Alternatives )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:2: rule__Surface__Alternatives
            {
            pushFollow(FOLLOW_rule__Surface__Alternatives_in_ruleSurface1055);
            rule__Surface__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getSurfaceAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSurface"


    // $ANTLR start "entryRuleCircle"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:536:1: entryRuleCircle : ruleCircle EOF ;
    public final void entryRuleCircle() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:537:1: ( ruleCircle EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:538:1: ruleCircle EOF
            {
             before(grammarAccess.getCircleRule()); 
            pushFollow(FOLLOW_ruleCircle_in_entryRuleCircle1082);
            ruleCircle();

            state._fsp--;

             after(grammarAccess.getCircleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCircle1089); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCircle"


    // $ANTLR start "ruleCircle"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:545:1: ruleCircle : ( ( rule__Circle__Group__0 ) ) ;
    public final void ruleCircle() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:549:2: ( ( ( rule__Circle__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( ( rule__Circle__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( ( rule__Circle__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:551:1: ( rule__Circle__Group__0 )
            {
             before(grammarAccess.getCircleAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:1: ( rule__Circle__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:2: rule__Circle__Group__0
            {
            pushFollow(FOLLOW_rule__Circle__Group__0_in_ruleCircle1115);
            rule__Circle__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCircle"


    // $ANTLR start "entryRulePolygon"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:564:1: entryRulePolygon : rulePolygon EOF ;
    public final void entryRulePolygon() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:565:1: ( rulePolygon EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:566:1: rulePolygon EOF
            {
             before(grammarAccess.getPolygonRule()); 
            pushFollow(FOLLOW_rulePolygon_in_entryRulePolygon1142);
            rulePolygon();

            state._fsp--;

             after(grammarAccess.getPolygonRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePolygon1149); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePolygon"


    // $ANTLR start "rulePolygon"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:573:1: rulePolygon : ( ( rule__Polygon__Group__0 ) ) ;
    public final void rulePolygon() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:577:2: ( ( ( rule__Polygon__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:1: ( ( rule__Polygon__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:1: ( ( rule__Polygon__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:579:1: ( rule__Polygon__Group__0 )
            {
             before(grammarAccess.getPolygonAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:1: ( rule__Polygon__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:2: rule__Polygon__Group__0
            {
            pushFollow(FOLLOW_rule__Polygon__Group__0_in_rulePolygon1175);
            rule__Polygon__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePolygon"


    // $ANTLR start "rule__Type__Alternatives"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:592:1: rule__Type__Alternatives : ( ( ruleLibrary ) | ( ruleScene ) );
    public final void rule__Type__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:596:1: ( ( ruleLibrary ) | ( ruleScene ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==11) ) {
                alt2=1;
            }
            else if ( (LA2_0==14) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:597:1: ( ruleLibrary )
                    {
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:597:1: ( ruleLibrary )
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: ruleLibrary
                    {
                     before(grammarAccess.getTypeAccess().getLibraryParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleLibrary_in_rule__Type__Alternatives1211);
                    ruleLibrary();

                    state._fsp--;

                     after(grammarAccess.getTypeAccess().getLibraryParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:603:6: ( ruleScene )
                    {
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:603:6: ( ruleScene )
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:604:1: ruleScene
                    {
                     before(grammarAccess.getTypeAccess().getSceneParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleScene_in_rule__Type__Alternatives1228);
                    ruleScene();

                    state._fsp--;

                     after(grammarAccess.getTypeAccess().getSceneParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Alternatives"


    // $ANTLR start "rule__Opening__Alternatives"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:614:1: rule__Opening__Alternatives : ( ( ruleDoor ) | ( ruleWindow ) );
    public final void rule__Opening__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:618:1: ( ( ruleDoor ) | ( ruleWindow ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==35) ) {
                alt3=1;
            }
            else if ( (LA3_0==37) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:619:1: ( ruleDoor )
                    {
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:619:1: ( ruleDoor )
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:1: ruleDoor
                    {
                     before(grammarAccess.getOpeningAccess().getDoorParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleDoor_in_rule__Opening__Alternatives1260);
                    ruleDoor();

                    state._fsp--;

                     after(grammarAccess.getOpeningAccess().getDoorParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:625:6: ( ruleWindow )
                    {
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:625:6: ( ruleWindow )
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:626:1: ruleWindow
                    {
                     before(grammarAccess.getOpeningAccess().getWindowParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleWindow_in_rule__Opening__Alternatives1277);
                    ruleWindow();

                    state._fsp--;

                     after(grammarAccess.getOpeningAccess().getWindowParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Opening__Alternatives"


    // $ANTLR start "rule__Surface__Alternatives"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:1: rule__Surface__Alternatives : ( ( ruleCircle ) | ( rulePolygon ) );
    public final void rule__Surface__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:640:1: ( ( ruleCircle ) | ( rulePolygon ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==42) ) {
                alt4=1;
            }
            else if ( (LA4_0==44) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:641:1: ( ruleCircle )
                    {
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:641:1: ( ruleCircle )
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:642:1: ruleCircle
                    {
                     before(grammarAccess.getSurfaceAccess().getCircleParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleCircle_in_rule__Surface__Alternatives1309);
                    ruleCircle();

                    state._fsp--;

                     after(grammarAccess.getSurfaceAccess().getCircleParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:647:6: ( rulePolygon )
                    {
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:647:6: ( rulePolygon )
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:648:1: rulePolygon
                    {
                     before(grammarAccess.getSurfaceAccess().getPolygonParserRuleCall_1()); 
                    pushFollow(FOLLOW_rulePolygon_in_rule__Surface__Alternatives1326);
                    rulePolygon();

                    state._fsp--;

                     after(grammarAccess.getSurfaceAccess().getPolygonParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Surface__Alternatives"


    // $ANTLR start "rule__Library__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:660:1: rule__Library__Group__0 : rule__Library__Group__0__Impl rule__Library__Group__1 ;
    public final void rule__Library__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:664:1: ( rule__Library__Group__0__Impl rule__Library__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:665:2: rule__Library__Group__0__Impl rule__Library__Group__1
            {
            pushFollow(FOLLOW_rule__Library__Group__0__Impl_in_rule__Library__Group__01356);
            rule__Library__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Library__Group__1_in_rule__Library__Group__01359);
            rule__Library__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__0"


    // $ANTLR start "rule__Library__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: rule__Library__Group__0__Impl : ( 'library' ) ;
    public final void rule__Library__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:676:1: ( ( 'library' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:677:1: ( 'library' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:677:1: ( 'library' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:678:1: 'library'
            {
             before(grammarAccess.getLibraryAccess().getLibraryKeyword_0()); 
            match(input,11,FOLLOW_11_in_rule__Library__Group__0__Impl1387); 
             after(grammarAccess.getLibraryAccess().getLibraryKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__0__Impl"


    // $ANTLR start "rule__Library__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:691:1: rule__Library__Group__1 : rule__Library__Group__1__Impl rule__Library__Group__2 ;
    public final void rule__Library__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:695:1: ( rule__Library__Group__1__Impl rule__Library__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:696:2: rule__Library__Group__1__Impl rule__Library__Group__2
            {
            pushFollow(FOLLOW_rule__Library__Group__1__Impl_in_rule__Library__Group__11418);
            rule__Library__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Library__Group__2_in_rule__Library__Group__11421);
            rule__Library__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__1"


    // $ANTLR start "rule__Library__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:703:1: rule__Library__Group__1__Impl : ( ( rule__Library__NameAssignment_1 ) ) ;
    public final void rule__Library__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:707:1: ( ( ( rule__Library__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:708:1: ( ( rule__Library__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:708:1: ( ( rule__Library__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:709:1: ( rule__Library__NameAssignment_1 )
            {
             before(grammarAccess.getLibraryAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:710:1: ( rule__Library__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:710:2: rule__Library__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Library__NameAssignment_1_in_rule__Library__Group__1__Impl1448);
            rule__Library__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getLibraryAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__1__Impl"


    // $ANTLR start "rule__Library__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:720:1: rule__Library__Group__2 : rule__Library__Group__2__Impl rule__Library__Group__3 ;
    public final void rule__Library__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:724:1: ( rule__Library__Group__2__Impl rule__Library__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:725:2: rule__Library__Group__2__Impl rule__Library__Group__3
            {
            pushFollow(FOLLOW_rule__Library__Group__2__Impl_in_rule__Library__Group__21478);
            rule__Library__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Library__Group__3_in_rule__Library__Group__21481);
            rule__Library__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__2"


    // $ANTLR start "rule__Library__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:732:1: rule__Library__Group__2__Impl : ( '{' ) ;
    public final void rule__Library__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:736:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:737:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:737:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:738:1: '{'
            {
             before(grammarAccess.getLibraryAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Library__Group__2__Impl1509); 
             after(grammarAccess.getLibraryAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__2__Impl"


    // $ANTLR start "rule__Library__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:1: rule__Library__Group__3 : rule__Library__Group__3__Impl rule__Library__Group__4 ;
    public final void rule__Library__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:755:1: ( rule__Library__Group__3__Impl rule__Library__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:756:2: rule__Library__Group__3__Impl rule__Library__Group__4
            {
            pushFollow(FOLLOW_rule__Library__Group__3__Impl_in_rule__Library__Group__31540);
            rule__Library__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Library__Group__4_in_rule__Library__Group__31543);
            rule__Library__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__3"


    // $ANTLR start "rule__Library__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:763:1: rule__Library__Group__3__Impl : ( ( rule__Library__TexturesAssignment_3 )* ) ;
    public final void rule__Library__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:767:1: ( ( ( rule__Library__TexturesAssignment_3 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:768:1: ( ( rule__Library__TexturesAssignment_3 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:768:1: ( ( rule__Library__TexturesAssignment_3 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:769:1: ( rule__Library__TexturesAssignment_3 )*
            {
             before(grammarAccess.getLibraryAccess().getTexturesAssignment_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:770:1: ( rule__Library__TexturesAssignment_3 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==21) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:770:2: rule__Library__TexturesAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Library__TexturesAssignment_3_in_rule__Library__Group__3__Impl1570);
            	    rule__Library__TexturesAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getLibraryAccess().getTexturesAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__3__Impl"


    // $ANTLR start "rule__Library__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:780:1: rule__Library__Group__4 : rule__Library__Group__4__Impl rule__Library__Group__5 ;
    public final void rule__Library__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:784:1: ( rule__Library__Group__4__Impl rule__Library__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:785:2: rule__Library__Group__4__Impl rule__Library__Group__5
            {
            pushFollow(FOLLOW_rule__Library__Group__4__Impl_in_rule__Library__Group__41601);
            rule__Library__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Library__Group__5_in_rule__Library__Group__41604);
            rule__Library__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__4"


    // $ANTLR start "rule__Library__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:792:1: rule__Library__Group__4__Impl : ( ( rule__Library__PrototypesAssignment_4 )* ) ;
    public final void rule__Library__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:796:1: ( ( ( rule__Library__PrototypesAssignment_4 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:797:1: ( ( rule__Library__PrototypesAssignment_4 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:797:1: ( ( rule__Library__PrototypesAssignment_4 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:798:1: ( rule__Library__PrototypesAssignment_4 )*
            {
             before(grammarAccess.getLibraryAccess().getPrototypesAssignment_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:799:1: ( rule__Library__PrototypesAssignment_4 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==28) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:799:2: rule__Library__PrototypesAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Library__PrototypesAssignment_4_in_rule__Library__Group__4__Impl1631);
            	    rule__Library__PrototypesAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getLibraryAccess().getPrototypesAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__4__Impl"


    // $ANTLR start "rule__Library__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:809:1: rule__Library__Group__5 : rule__Library__Group__5__Impl ;
    public final void rule__Library__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:813:1: ( rule__Library__Group__5__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:814:2: rule__Library__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Library__Group__5__Impl_in_rule__Library__Group__51662);
            rule__Library__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__5"


    // $ANTLR start "rule__Library__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:820:1: rule__Library__Group__5__Impl : ( '}' ) ;
    public final void rule__Library__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:824:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:826:1: '}'
            {
             before(grammarAccess.getLibraryAccess().getRightCurlyBracketKeyword_5()); 
            match(input,13,FOLLOW_13_in_rule__Library__Group__5__Impl1690); 
             after(grammarAccess.getLibraryAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__Group__5__Impl"


    // $ANTLR start "rule__Scene__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:851:1: rule__Scene__Group__0 : rule__Scene__Group__0__Impl rule__Scene__Group__1 ;
    public final void rule__Scene__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:855:1: ( rule__Scene__Group__0__Impl rule__Scene__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:856:2: rule__Scene__Group__0__Impl rule__Scene__Group__1
            {
            pushFollow(FOLLOW_rule__Scene__Group__0__Impl_in_rule__Scene__Group__01733);
            rule__Scene__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scene__Group__1_in_rule__Scene__Group__01736);
            rule__Scene__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__0"


    // $ANTLR start "rule__Scene__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:863:1: rule__Scene__Group__0__Impl : ( 'scene' ) ;
    public final void rule__Scene__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:867:1: ( ( 'scene' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:868:1: ( 'scene' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:868:1: ( 'scene' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:869:1: 'scene'
            {
             before(grammarAccess.getSceneAccess().getSceneKeyword_0()); 
            match(input,14,FOLLOW_14_in_rule__Scene__Group__0__Impl1764); 
             after(grammarAccess.getSceneAccess().getSceneKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__0__Impl"


    // $ANTLR start "rule__Scene__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:882:1: rule__Scene__Group__1 : rule__Scene__Group__1__Impl rule__Scene__Group__2 ;
    public final void rule__Scene__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:886:1: ( rule__Scene__Group__1__Impl rule__Scene__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:887:2: rule__Scene__Group__1__Impl rule__Scene__Group__2
            {
            pushFollow(FOLLOW_rule__Scene__Group__1__Impl_in_rule__Scene__Group__11795);
            rule__Scene__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scene__Group__2_in_rule__Scene__Group__11798);
            rule__Scene__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__1"


    // $ANTLR start "rule__Scene__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:894:1: rule__Scene__Group__1__Impl : ( ( rule__Scene__NameAssignment_1 ) ) ;
    public final void rule__Scene__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:898:1: ( ( ( rule__Scene__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:899:1: ( ( rule__Scene__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:899:1: ( ( rule__Scene__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:900:1: ( rule__Scene__NameAssignment_1 )
            {
             before(grammarAccess.getSceneAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:901:1: ( rule__Scene__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:901:2: rule__Scene__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Scene__NameAssignment_1_in_rule__Scene__Group__1__Impl1825);
            rule__Scene__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getSceneAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__1__Impl"


    // $ANTLR start "rule__Scene__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:911:1: rule__Scene__Group__2 : rule__Scene__Group__2__Impl rule__Scene__Group__3 ;
    public final void rule__Scene__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:915:1: ( rule__Scene__Group__2__Impl rule__Scene__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:916:2: rule__Scene__Group__2__Impl rule__Scene__Group__3
            {
            pushFollow(FOLLOW_rule__Scene__Group__2__Impl_in_rule__Scene__Group__21855);
            rule__Scene__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scene__Group__3_in_rule__Scene__Group__21858);
            rule__Scene__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__2"


    // $ANTLR start "rule__Scene__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:923:1: rule__Scene__Group__2__Impl : ( '{' ) ;
    public final void rule__Scene__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:927:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:928:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:928:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:929:1: '{'
            {
             before(grammarAccess.getSceneAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Scene__Group__2__Impl1886); 
             after(grammarAccess.getSceneAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__2__Impl"


    // $ANTLR start "rule__Scene__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:942:1: rule__Scene__Group__3 : rule__Scene__Group__3__Impl rule__Scene__Group__4 ;
    public final void rule__Scene__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:946:1: ( rule__Scene__Group__3__Impl rule__Scene__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:947:2: rule__Scene__Group__3__Impl rule__Scene__Group__4
            {
            pushFollow(FOLLOW_rule__Scene__Group__3__Impl_in_rule__Scene__Group__31917);
            rule__Scene__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scene__Group__4_in_rule__Scene__Group__31920);
            rule__Scene__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__3"


    // $ANTLR start "rule__Scene__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:954:1: rule__Scene__Group__3__Impl : ( ( rule__Scene__ParametricsAssignment_3 )* ) ;
    public final void rule__Scene__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:958:1: ( ( ( rule__Scene__ParametricsAssignment_3 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:959:1: ( ( rule__Scene__ParametricsAssignment_3 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:959:1: ( ( rule__Scene__ParametricsAssignment_3 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:960:1: ( rule__Scene__ParametricsAssignment_3 )*
            {
             before(grammarAccess.getSceneAccess().getParametricsAssignment_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:961:1: ( rule__Scene__ParametricsAssignment_3 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==15) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:961:2: rule__Scene__ParametricsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Scene__ParametricsAssignment_3_in_rule__Scene__Group__3__Impl1947);
            	    rule__Scene__ParametricsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

             after(grammarAccess.getSceneAccess().getParametricsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__3__Impl"


    // $ANTLR start "rule__Scene__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:971:1: rule__Scene__Group__4 : rule__Scene__Group__4__Impl rule__Scene__Group__5 ;
    public final void rule__Scene__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:975:1: ( rule__Scene__Group__4__Impl rule__Scene__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:976:2: rule__Scene__Group__4__Impl rule__Scene__Group__5
            {
            pushFollow(FOLLOW_rule__Scene__Group__4__Impl_in_rule__Scene__Group__41978);
            rule__Scene__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scene__Group__5_in_rule__Scene__Group__41981);
            rule__Scene__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__4"


    // $ANTLR start "rule__Scene__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:983:1: rule__Scene__Group__4__Impl : ( ( rule__Scene__BuildingsAssignment_4 )* ) ;
    public final void rule__Scene__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:987:1: ( ( ( rule__Scene__BuildingsAssignment_4 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:988:1: ( ( rule__Scene__BuildingsAssignment_4 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:988:1: ( ( rule__Scene__BuildingsAssignment_4 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:989:1: ( rule__Scene__BuildingsAssignment_4 )*
            {
             before(grammarAccess.getSceneAccess().getBuildingsAssignment_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:990:1: ( rule__Scene__BuildingsAssignment_4 )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0==41) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:990:2: rule__Scene__BuildingsAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Scene__BuildingsAssignment_4_in_rule__Scene__Group__4__Impl2008);
            	    rule__Scene__BuildingsAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);

             after(grammarAccess.getSceneAccess().getBuildingsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__4__Impl"


    // $ANTLR start "rule__Scene__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1000:1: rule__Scene__Group__5 : rule__Scene__Group__5__Impl rule__Scene__Group__6 ;
    public final void rule__Scene__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1004:1: ( rule__Scene__Group__5__Impl rule__Scene__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1005:2: rule__Scene__Group__5__Impl rule__Scene__Group__6
            {
            pushFollow(FOLLOW_rule__Scene__Group__5__Impl_in_rule__Scene__Group__52039);
            rule__Scene__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scene__Group__6_in_rule__Scene__Group__52042);
            rule__Scene__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__5"


    // $ANTLR start "rule__Scene__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1012:1: rule__Scene__Group__5__Impl : ( ( rule__Scene__SurfacesAssignment_5 )* ) ;
    public final void rule__Scene__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1016:1: ( ( ( rule__Scene__SurfacesAssignment_5 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1017:1: ( ( rule__Scene__SurfacesAssignment_5 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1017:1: ( ( rule__Scene__SurfacesAssignment_5 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1018:1: ( rule__Scene__SurfacesAssignment_5 )*
            {
             before(grammarAccess.getSceneAccess().getSurfacesAssignment_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1019:1: ( rule__Scene__SurfacesAssignment_5 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==42||LA9_0==44) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1019:2: rule__Scene__SurfacesAssignment_5
            	    {
            	    pushFollow(FOLLOW_rule__Scene__SurfacesAssignment_5_in_rule__Scene__Group__5__Impl2069);
            	    rule__Scene__SurfacesAssignment_5();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getSceneAccess().getSurfacesAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__5__Impl"


    // $ANTLR start "rule__Scene__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:1: rule__Scene__Group__6 : rule__Scene__Group__6__Impl ;
    public final void rule__Scene__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1033:1: ( rule__Scene__Group__6__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1034:2: rule__Scene__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__Scene__Group__6__Impl_in_rule__Scene__Group__62100);
            rule__Scene__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__6"


    // $ANTLR start "rule__Scene__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1040:1: rule__Scene__Group__6__Impl : ( '}' ) ;
    public final void rule__Scene__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1044:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1045:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1045:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1046:1: '}'
            {
             before(grammarAccess.getSceneAccess().getRightCurlyBracketKeyword_6()); 
            match(input,13,FOLLOW_13_in_rule__Scene__Group__6__Impl2128); 
             after(grammarAccess.getSceneAccess().getRightCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__Group__6__Impl"


    // $ANTLR start "rule__Parametric__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1073:1: rule__Parametric__Group__0 : rule__Parametric__Group__0__Impl rule__Parametric__Group__1 ;
    public final void rule__Parametric__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1077:1: ( rule__Parametric__Group__0__Impl rule__Parametric__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1078:2: rule__Parametric__Group__0__Impl rule__Parametric__Group__1
            {
            pushFollow(FOLLOW_rule__Parametric__Group__0__Impl_in_rule__Parametric__Group__02173);
            rule__Parametric__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__1_in_rule__Parametric__Group__02176);
            rule__Parametric__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__0"


    // $ANTLR start "rule__Parametric__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1085:1: rule__Parametric__Group__0__Impl : ( 'parametric' ) ;
    public final void rule__Parametric__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1089:1: ( ( 'parametric' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1090:1: ( 'parametric' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1090:1: ( 'parametric' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1091:1: 'parametric'
            {
             before(grammarAccess.getParametricAccess().getParametricKeyword_0()); 
            match(input,15,FOLLOW_15_in_rule__Parametric__Group__0__Impl2204); 
             after(grammarAccess.getParametricAccess().getParametricKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__0__Impl"


    // $ANTLR start "rule__Parametric__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1104:1: rule__Parametric__Group__1 : rule__Parametric__Group__1__Impl rule__Parametric__Group__2 ;
    public final void rule__Parametric__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1108:1: ( rule__Parametric__Group__1__Impl rule__Parametric__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1109:2: rule__Parametric__Group__1__Impl rule__Parametric__Group__2
            {
            pushFollow(FOLLOW_rule__Parametric__Group__1__Impl_in_rule__Parametric__Group__12235);
            rule__Parametric__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__2_in_rule__Parametric__Group__12238);
            rule__Parametric__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__1"


    // $ANTLR start "rule__Parametric__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1116:1: rule__Parametric__Group__1__Impl : ( ( rule__Parametric__NameAssignment_1 ) ) ;
    public final void rule__Parametric__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1120:1: ( ( ( rule__Parametric__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1121:1: ( ( rule__Parametric__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1121:1: ( ( rule__Parametric__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1122:1: ( rule__Parametric__NameAssignment_1 )
            {
             before(grammarAccess.getParametricAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1123:1: ( rule__Parametric__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1123:2: rule__Parametric__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Parametric__NameAssignment_1_in_rule__Parametric__Group__1__Impl2265);
            rule__Parametric__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__1__Impl"


    // $ANTLR start "rule__Parametric__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1133:1: rule__Parametric__Group__2 : rule__Parametric__Group__2__Impl rule__Parametric__Group__3 ;
    public final void rule__Parametric__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1137:1: ( rule__Parametric__Group__2__Impl rule__Parametric__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1138:2: rule__Parametric__Group__2__Impl rule__Parametric__Group__3
            {
            pushFollow(FOLLOW_rule__Parametric__Group__2__Impl_in_rule__Parametric__Group__22295);
            rule__Parametric__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__3_in_rule__Parametric__Group__22298);
            rule__Parametric__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__2"


    // $ANTLR start "rule__Parametric__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1145:1: rule__Parametric__Group__2__Impl : ( '{' ) ;
    public final void rule__Parametric__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1149:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1150:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1150:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1151:1: '{'
            {
             before(grammarAccess.getParametricAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Parametric__Group__2__Impl2326); 
             after(grammarAccess.getParametricAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__2__Impl"


    // $ANTLR start "rule__Parametric__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1164:1: rule__Parametric__Group__3 : rule__Parametric__Group__3__Impl rule__Parametric__Group__4 ;
    public final void rule__Parametric__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1168:1: ( rule__Parametric__Group__3__Impl rule__Parametric__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1169:2: rule__Parametric__Group__3__Impl rule__Parametric__Group__4
            {
            pushFollow(FOLLOW_rule__Parametric__Group__3__Impl_in_rule__Parametric__Group__32357);
            rule__Parametric__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__4_in_rule__Parametric__Group__32360);
            rule__Parametric__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__3"


    // $ANTLR start "rule__Parametric__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1176:1: rule__Parametric__Group__3__Impl : ( ( rule__Parametric__TranslationAssignment_3 ) ) ;
    public final void rule__Parametric__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1180:1: ( ( ( rule__Parametric__TranslationAssignment_3 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1181:1: ( ( rule__Parametric__TranslationAssignment_3 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1181:1: ( ( rule__Parametric__TranslationAssignment_3 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1182:1: ( rule__Parametric__TranslationAssignment_3 )
            {
             before(grammarAccess.getParametricAccess().getTranslationAssignment_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1183:1: ( rule__Parametric__TranslationAssignment_3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1183:2: rule__Parametric__TranslationAssignment_3
            {
            pushFollow(FOLLOW_rule__Parametric__TranslationAssignment_3_in_rule__Parametric__Group__3__Impl2387);
            rule__Parametric__TranslationAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getTranslationAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__3__Impl"


    // $ANTLR start "rule__Parametric__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1193:1: rule__Parametric__Group__4 : rule__Parametric__Group__4__Impl rule__Parametric__Group__5 ;
    public final void rule__Parametric__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1197:1: ( rule__Parametric__Group__4__Impl rule__Parametric__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1198:2: rule__Parametric__Group__4__Impl rule__Parametric__Group__5
            {
            pushFollow(FOLLOW_rule__Parametric__Group__4__Impl_in_rule__Parametric__Group__42417);
            rule__Parametric__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__5_in_rule__Parametric__Group__42420);
            rule__Parametric__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__4"


    // $ANTLR start "rule__Parametric__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1205:1: rule__Parametric__Group__4__Impl : ( ';' ) ;
    public final void rule__Parametric__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1209:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1210:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1210:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1211:1: ';'
            {
             before(grammarAccess.getParametricAccess().getSemicolonKeyword_4()); 
            match(input,16,FOLLOW_16_in_rule__Parametric__Group__4__Impl2448); 
             after(grammarAccess.getParametricAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__4__Impl"


    // $ANTLR start "rule__Parametric__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1224:1: rule__Parametric__Group__5 : rule__Parametric__Group__5__Impl rule__Parametric__Group__6 ;
    public final void rule__Parametric__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1228:1: ( rule__Parametric__Group__5__Impl rule__Parametric__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1229:2: rule__Parametric__Group__5__Impl rule__Parametric__Group__6
            {
            pushFollow(FOLLOW_rule__Parametric__Group__5__Impl_in_rule__Parametric__Group__52479);
            rule__Parametric__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__6_in_rule__Parametric__Group__52482);
            rule__Parametric__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__5"


    // $ANTLR start "rule__Parametric__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1236:1: rule__Parametric__Group__5__Impl : ( 'width' ) ;
    public final void rule__Parametric__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1240:1: ( ( 'width' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1241:1: ( 'width' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1241:1: ( 'width' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1242:1: 'width'
            {
             before(grammarAccess.getParametricAccess().getWidthKeyword_5()); 
            match(input,17,FOLLOW_17_in_rule__Parametric__Group__5__Impl2510); 
             after(grammarAccess.getParametricAccess().getWidthKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__5__Impl"


    // $ANTLR start "rule__Parametric__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1255:1: rule__Parametric__Group__6 : rule__Parametric__Group__6__Impl rule__Parametric__Group__7 ;
    public final void rule__Parametric__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1259:1: ( rule__Parametric__Group__6__Impl rule__Parametric__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1260:2: rule__Parametric__Group__6__Impl rule__Parametric__Group__7
            {
            pushFollow(FOLLOW_rule__Parametric__Group__6__Impl_in_rule__Parametric__Group__62541);
            rule__Parametric__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__7_in_rule__Parametric__Group__62544);
            rule__Parametric__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__6"


    // $ANTLR start "rule__Parametric__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1267:1: rule__Parametric__Group__6__Impl : ( ':' ) ;
    public final void rule__Parametric__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1271:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1272:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1272:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1273:1: ':'
            {
             before(grammarAccess.getParametricAccess().getColonKeyword_6()); 
            match(input,18,FOLLOW_18_in_rule__Parametric__Group__6__Impl2572); 
             after(grammarAccess.getParametricAccess().getColonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__6__Impl"


    // $ANTLR start "rule__Parametric__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1286:1: rule__Parametric__Group__7 : rule__Parametric__Group__7__Impl rule__Parametric__Group__8 ;
    public final void rule__Parametric__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1290:1: ( rule__Parametric__Group__7__Impl rule__Parametric__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1291:2: rule__Parametric__Group__7__Impl rule__Parametric__Group__8
            {
            pushFollow(FOLLOW_rule__Parametric__Group__7__Impl_in_rule__Parametric__Group__72603);
            rule__Parametric__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__8_in_rule__Parametric__Group__72606);
            rule__Parametric__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__7"


    // $ANTLR start "rule__Parametric__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1298:1: rule__Parametric__Group__7__Impl : ( ( rule__Parametric__WidthAssignment_7 ) ) ;
    public final void rule__Parametric__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1302:1: ( ( ( rule__Parametric__WidthAssignment_7 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1303:1: ( ( rule__Parametric__WidthAssignment_7 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1303:1: ( ( rule__Parametric__WidthAssignment_7 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1304:1: ( rule__Parametric__WidthAssignment_7 )
            {
             before(grammarAccess.getParametricAccess().getWidthAssignment_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1305:1: ( rule__Parametric__WidthAssignment_7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1305:2: rule__Parametric__WidthAssignment_7
            {
            pushFollow(FOLLOW_rule__Parametric__WidthAssignment_7_in_rule__Parametric__Group__7__Impl2633);
            rule__Parametric__WidthAssignment_7();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getWidthAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__7__Impl"


    // $ANTLR start "rule__Parametric__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1315:1: rule__Parametric__Group__8 : rule__Parametric__Group__8__Impl rule__Parametric__Group__9 ;
    public final void rule__Parametric__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1319:1: ( rule__Parametric__Group__8__Impl rule__Parametric__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1320:2: rule__Parametric__Group__8__Impl rule__Parametric__Group__9
            {
            pushFollow(FOLLOW_rule__Parametric__Group__8__Impl_in_rule__Parametric__Group__82663);
            rule__Parametric__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__9_in_rule__Parametric__Group__82666);
            rule__Parametric__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__8"


    // $ANTLR start "rule__Parametric__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1327:1: rule__Parametric__Group__8__Impl : ( ';' ) ;
    public final void rule__Parametric__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1331:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1332:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1332:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1333:1: ';'
            {
             before(grammarAccess.getParametricAccess().getSemicolonKeyword_8()); 
            match(input,16,FOLLOW_16_in_rule__Parametric__Group__8__Impl2694); 
             after(grammarAccess.getParametricAccess().getSemicolonKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__8__Impl"


    // $ANTLR start "rule__Parametric__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1346:1: rule__Parametric__Group__9 : rule__Parametric__Group__9__Impl rule__Parametric__Group__10 ;
    public final void rule__Parametric__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1350:1: ( rule__Parametric__Group__9__Impl rule__Parametric__Group__10 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1351:2: rule__Parametric__Group__9__Impl rule__Parametric__Group__10
            {
            pushFollow(FOLLOW_rule__Parametric__Group__9__Impl_in_rule__Parametric__Group__92725);
            rule__Parametric__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__10_in_rule__Parametric__Group__92728);
            rule__Parametric__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__9"


    // $ANTLR start "rule__Parametric__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1358:1: rule__Parametric__Group__9__Impl : ( ( rule__Parametric__Group_9__0 )? ) ;
    public final void rule__Parametric__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1362:1: ( ( ( rule__Parametric__Group_9__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1363:1: ( ( rule__Parametric__Group_9__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1363:1: ( ( rule__Parametric__Group_9__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1364:1: ( rule__Parametric__Group_9__0 )?
            {
             before(grammarAccess.getParametricAccess().getGroup_9()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1365:1: ( rule__Parametric__Group_9__0 )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==19) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1365:2: rule__Parametric__Group_9__0
                    {
                    pushFollow(FOLLOW_rule__Parametric__Group_9__0_in_rule__Parametric__Group__9__Impl2755);
                    rule__Parametric__Group_9__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getParametricAccess().getGroup_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__9__Impl"


    // $ANTLR start "rule__Parametric__Group__10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1375:1: rule__Parametric__Group__10 : rule__Parametric__Group__10__Impl rule__Parametric__Group__11 ;
    public final void rule__Parametric__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1379:1: ( rule__Parametric__Group__10__Impl rule__Parametric__Group__11 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1380:2: rule__Parametric__Group__10__Impl rule__Parametric__Group__11
            {
            pushFollow(FOLLOW_rule__Parametric__Group__10__Impl_in_rule__Parametric__Group__102786);
            rule__Parametric__Group__10__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__11_in_rule__Parametric__Group__102789);
            rule__Parametric__Group__11();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__10"


    // $ANTLR start "rule__Parametric__Group__10__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1387:1: rule__Parametric__Group__10__Impl : ( ( rule__Parametric__Group_10__0 )? ) ;
    public final void rule__Parametric__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1391:1: ( ( ( rule__Parametric__Group_10__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1392:1: ( ( rule__Parametric__Group_10__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1392:1: ( ( rule__Parametric__Group_10__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1393:1: ( rule__Parametric__Group_10__0 )?
            {
             before(grammarAccess.getParametricAccess().getGroup_10()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1394:1: ( rule__Parametric__Group_10__0 )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==20) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1394:2: rule__Parametric__Group_10__0
                    {
                    pushFollow(FOLLOW_rule__Parametric__Group_10__0_in_rule__Parametric__Group__10__Impl2816);
                    rule__Parametric__Group_10__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getParametricAccess().getGroup_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__10__Impl"


    // $ANTLR start "rule__Parametric__Group__11"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1404:1: rule__Parametric__Group__11 : rule__Parametric__Group__11__Impl rule__Parametric__Group__12 ;
    public final void rule__Parametric__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1408:1: ( rule__Parametric__Group__11__Impl rule__Parametric__Group__12 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1409:2: rule__Parametric__Group__11__Impl rule__Parametric__Group__12
            {
            pushFollow(FOLLOW_rule__Parametric__Group__11__Impl_in_rule__Parametric__Group__112847);
            rule__Parametric__Group__11__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group__12_in_rule__Parametric__Group__112850);
            rule__Parametric__Group__12();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__11"


    // $ANTLR start "rule__Parametric__Group__11__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1416:1: rule__Parametric__Group__11__Impl : ( ( rule__Parametric__Group_11__0 )? ) ;
    public final void rule__Parametric__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1420:1: ( ( ( rule__Parametric__Group_11__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1421:1: ( ( rule__Parametric__Group_11__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1421:1: ( ( rule__Parametric__Group_11__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1422:1: ( rule__Parametric__Group_11__0 )?
            {
             before(grammarAccess.getParametricAccess().getGroup_11()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1423:1: ( rule__Parametric__Group_11__0 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==21) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1423:2: rule__Parametric__Group_11__0
                    {
                    pushFollow(FOLLOW_rule__Parametric__Group_11__0_in_rule__Parametric__Group__11__Impl2877);
                    rule__Parametric__Group_11__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getParametricAccess().getGroup_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__11__Impl"


    // $ANTLR start "rule__Parametric__Group__12"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1433:1: rule__Parametric__Group__12 : rule__Parametric__Group__12__Impl ;
    public final void rule__Parametric__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1437:1: ( rule__Parametric__Group__12__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1438:2: rule__Parametric__Group__12__Impl
            {
            pushFollow(FOLLOW_rule__Parametric__Group__12__Impl_in_rule__Parametric__Group__122908);
            rule__Parametric__Group__12__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__12"


    // $ANTLR start "rule__Parametric__Group__12__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1444:1: rule__Parametric__Group__12__Impl : ( '}' ) ;
    public final void rule__Parametric__Group__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1448:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1449:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1449:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1450:1: '}'
            {
             before(grammarAccess.getParametricAccess().getRightCurlyBracketKeyword_12()); 
            match(input,13,FOLLOW_13_in_rule__Parametric__Group__12__Impl2936); 
             after(grammarAccess.getParametricAccess().getRightCurlyBracketKeyword_12()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group__12__Impl"


    // $ANTLR start "rule__Parametric__Group_9__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1489:1: rule__Parametric__Group_9__0 : rule__Parametric__Group_9__0__Impl rule__Parametric__Group_9__1 ;
    public final void rule__Parametric__Group_9__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1493:1: ( rule__Parametric__Group_9__0__Impl rule__Parametric__Group_9__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1494:2: rule__Parametric__Group_9__0__Impl rule__Parametric__Group_9__1
            {
            pushFollow(FOLLOW_rule__Parametric__Group_9__0__Impl_in_rule__Parametric__Group_9__02993);
            rule__Parametric__Group_9__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_9__1_in_rule__Parametric__Group_9__02996);
            rule__Parametric__Group_9__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__0"


    // $ANTLR start "rule__Parametric__Group_9__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1501:1: rule__Parametric__Group_9__0__Impl : ( 'length' ) ;
    public final void rule__Parametric__Group_9__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1505:1: ( ( 'length' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1506:1: ( 'length' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1506:1: ( 'length' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1507:1: 'length'
            {
             before(grammarAccess.getParametricAccess().getLengthKeyword_9_0()); 
            match(input,19,FOLLOW_19_in_rule__Parametric__Group_9__0__Impl3024); 
             after(grammarAccess.getParametricAccess().getLengthKeyword_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__0__Impl"


    // $ANTLR start "rule__Parametric__Group_9__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1520:1: rule__Parametric__Group_9__1 : rule__Parametric__Group_9__1__Impl rule__Parametric__Group_9__2 ;
    public final void rule__Parametric__Group_9__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1524:1: ( rule__Parametric__Group_9__1__Impl rule__Parametric__Group_9__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1525:2: rule__Parametric__Group_9__1__Impl rule__Parametric__Group_9__2
            {
            pushFollow(FOLLOW_rule__Parametric__Group_9__1__Impl_in_rule__Parametric__Group_9__13055);
            rule__Parametric__Group_9__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_9__2_in_rule__Parametric__Group_9__13058);
            rule__Parametric__Group_9__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__1"


    // $ANTLR start "rule__Parametric__Group_9__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: rule__Parametric__Group_9__1__Impl : ( ':' ) ;
    public final void rule__Parametric__Group_9__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1536:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1537:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1537:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1538:1: ':'
            {
             before(grammarAccess.getParametricAccess().getColonKeyword_9_1()); 
            match(input,18,FOLLOW_18_in_rule__Parametric__Group_9__1__Impl3086); 
             after(grammarAccess.getParametricAccess().getColonKeyword_9_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__1__Impl"


    // $ANTLR start "rule__Parametric__Group_9__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1551:1: rule__Parametric__Group_9__2 : rule__Parametric__Group_9__2__Impl rule__Parametric__Group_9__3 ;
    public final void rule__Parametric__Group_9__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1555:1: ( rule__Parametric__Group_9__2__Impl rule__Parametric__Group_9__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1556:2: rule__Parametric__Group_9__2__Impl rule__Parametric__Group_9__3
            {
            pushFollow(FOLLOW_rule__Parametric__Group_9__2__Impl_in_rule__Parametric__Group_9__23117);
            rule__Parametric__Group_9__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_9__3_in_rule__Parametric__Group_9__23120);
            rule__Parametric__Group_9__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__2"


    // $ANTLR start "rule__Parametric__Group_9__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1563:1: rule__Parametric__Group_9__2__Impl : ( ( rule__Parametric__LengthAssignment_9_2 ) ) ;
    public final void rule__Parametric__Group_9__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1567:1: ( ( ( rule__Parametric__LengthAssignment_9_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1568:1: ( ( rule__Parametric__LengthAssignment_9_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1568:1: ( ( rule__Parametric__LengthAssignment_9_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1569:1: ( rule__Parametric__LengthAssignment_9_2 )
            {
             before(grammarAccess.getParametricAccess().getLengthAssignment_9_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1570:1: ( rule__Parametric__LengthAssignment_9_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1570:2: rule__Parametric__LengthAssignment_9_2
            {
            pushFollow(FOLLOW_rule__Parametric__LengthAssignment_9_2_in_rule__Parametric__Group_9__2__Impl3147);
            rule__Parametric__LengthAssignment_9_2();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getLengthAssignment_9_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__2__Impl"


    // $ANTLR start "rule__Parametric__Group_9__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1580:1: rule__Parametric__Group_9__3 : rule__Parametric__Group_9__3__Impl ;
    public final void rule__Parametric__Group_9__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1584:1: ( rule__Parametric__Group_9__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1585:2: rule__Parametric__Group_9__3__Impl
            {
            pushFollow(FOLLOW_rule__Parametric__Group_9__3__Impl_in_rule__Parametric__Group_9__33177);
            rule__Parametric__Group_9__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__3"


    // $ANTLR start "rule__Parametric__Group_9__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1591:1: rule__Parametric__Group_9__3__Impl : ( ';' ) ;
    public final void rule__Parametric__Group_9__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1595:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1596:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1596:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1597:1: ';'
            {
             before(grammarAccess.getParametricAccess().getSemicolonKeyword_9_3()); 
            match(input,16,FOLLOW_16_in_rule__Parametric__Group_9__3__Impl3205); 
             after(grammarAccess.getParametricAccess().getSemicolonKeyword_9_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_9__3__Impl"


    // $ANTLR start "rule__Parametric__Group_10__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1618:1: rule__Parametric__Group_10__0 : rule__Parametric__Group_10__0__Impl rule__Parametric__Group_10__1 ;
    public final void rule__Parametric__Group_10__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1622:1: ( rule__Parametric__Group_10__0__Impl rule__Parametric__Group_10__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1623:2: rule__Parametric__Group_10__0__Impl rule__Parametric__Group_10__1
            {
            pushFollow(FOLLOW_rule__Parametric__Group_10__0__Impl_in_rule__Parametric__Group_10__03244);
            rule__Parametric__Group_10__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_10__1_in_rule__Parametric__Group_10__03247);
            rule__Parametric__Group_10__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__0"


    // $ANTLR start "rule__Parametric__Group_10__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1630:1: rule__Parametric__Group_10__0__Impl : ( 'height' ) ;
    public final void rule__Parametric__Group_10__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1634:1: ( ( 'height' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1635:1: ( 'height' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1635:1: ( 'height' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1636:1: 'height'
            {
             before(grammarAccess.getParametricAccess().getHeightKeyword_10_0()); 
            match(input,20,FOLLOW_20_in_rule__Parametric__Group_10__0__Impl3275); 
             after(grammarAccess.getParametricAccess().getHeightKeyword_10_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__0__Impl"


    // $ANTLR start "rule__Parametric__Group_10__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1649:1: rule__Parametric__Group_10__1 : rule__Parametric__Group_10__1__Impl rule__Parametric__Group_10__2 ;
    public final void rule__Parametric__Group_10__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1653:1: ( rule__Parametric__Group_10__1__Impl rule__Parametric__Group_10__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1654:2: rule__Parametric__Group_10__1__Impl rule__Parametric__Group_10__2
            {
            pushFollow(FOLLOW_rule__Parametric__Group_10__1__Impl_in_rule__Parametric__Group_10__13306);
            rule__Parametric__Group_10__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_10__2_in_rule__Parametric__Group_10__13309);
            rule__Parametric__Group_10__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__1"


    // $ANTLR start "rule__Parametric__Group_10__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1661:1: rule__Parametric__Group_10__1__Impl : ( ':' ) ;
    public final void rule__Parametric__Group_10__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1665:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1666:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1666:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1667:1: ':'
            {
             before(grammarAccess.getParametricAccess().getColonKeyword_10_1()); 
            match(input,18,FOLLOW_18_in_rule__Parametric__Group_10__1__Impl3337); 
             after(grammarAccess.getParametricAccess().getColonKeyword_10_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__1__Impl"


    // $ANTLR start "rule__Parametric__Group_10__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1680:1: rule__Parametric__Group_10__2 : rule__Parametric__Group_10__2__Impl rule__Parametric__Group_10__3 ;
    public final void rule__Parametric__Group_10__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1684:1: ( rule__Parametric__Group_10__2__Impl rule__Parametric__Group_10__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1685:2: rule__Parametric__Group_10__2__Impl rule__Parametric__Group_10__3
            {
            pushFollow(FOLLOW_rule__Parametric__Group_10__2__Impl_in_rule__Parametric__Group_10__23368);
            rule__Parametric__Group_10__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_10__3_in_rule__Parametric__Group_10__23371);
            rule__Parametric__Group_10__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__2"


    // $ANTLR start "rule__Parametric__Group_10__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1692:1: rule__Parametric__Group_10__2__Impl : ( ( rule__Parametric__HeightAssignment_10_2 ) ) ;
    public final void rule__Parametric__Group_10__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1696:1: ( ( ( rule__Parametric__HeightAssignment_10_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1697:1: ( ( rule__Parametric__HeightAssignment_10_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1697:1: ( ( rule__Parametric__HeightAssignment_10_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1698:1: ( rule__Parametric__HeightAssignment_10_2 )
            {
             before(grammarAccess.getParametricAccess().getHeightAssignment_10_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1699:1: ( rule__Parametric__HeightAssignment_10_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1699:2: rule__Parametric__HeightAssignment_10_2
            {
            pushFollow(FOLLOW_rule__Parametric__HeightAssignment_10_2_in_rule__Parametric__Group_10__2__Impl3398);
            rule__Parametric__HeightAssignment_10_2();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getHeightAssignment_10_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__2__Impl"


    // $ANTLR start "rule__Parametric__Group_10__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1709:1: rule__Parametric__Group_10__3 : rule__Parametric__Group_10__3__Impl ;
    public final void rule__Parametric__Group_10__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1713:1: ( rule__Parametric__Group_10__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1714:2: rule__Parametric__Group_10__3__Impl
            {
            pushFollow(FOLLOW_rule__Parametric__Group_10__3__Impl_in_rule__Parametric__Group_10__33428);
            rule__Parametric__Group_10__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__3"


    // $ANTLR start "rule__Parametric__Group_10__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1720:1: rule__Parametric__Group_10__3__Impl : ( ';' ) ;
    public final void rule__Parametric__Group_10__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1724:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1725:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1725:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1726:1: ';'
            {
             before(grammarAccess.getParametricAccess().getSemicolonKeyword_10_3()); 
            match(input,16,FOLLOW_16_in_rule__Parametric__Group_10__3__Impl3456); 
             after(grammarAccess.getParametricAccess().getSemicolonKeyword_10_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_10__3__Impl"


    // $ANTLR start "rule__Parametric__Group_11__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1747:1: rule__Parametric__Group_11__0 : rule__Parametric__Group_11__0__Impl rule__Parametric__Group_11__1 ;
    public final void rule__Parametric__Group_11__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1751:1: ( rule__Parametric__Group_11__0__Impl rule__Parametric__Group_11__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1752:2: rule__Parametric__Group_11__0__Impl rule__Parametric__Group_11__1
            {
            pushFollow(FOLLOW_rule__Parametric__Group_11__0__Impl_in_rule__Parametric__Group_11__03495);
            rule__Parametric__Group_11__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_11__1_in_rule__Parametric__Group_11__03498);
            rule__Parametric__Group_11__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__0"


    // $ANTLR start "rule__Parametric__Group_11__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1759:1: rule__Parametric__Group_11__0__Impl : ( 'texture' ) ;
    public final void rule__Parametric__Group_11__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1763:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1764:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1764:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1765:1: 'texture'
            {
             before(grammarAccess.getParametricAccess().getTextureKeyword_11_0()); 
            match(input,21,FOLLOW_21_in_rule__Parametric__Group_11__0__Impl3526); 
             after(grammarAccess.getParametricAccess().getTextureKeyword_11_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__0__Impl"


    // $ANTLR start "rule__Parametric__Group_11__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1778:1: rule__Parametric__Group_11__1 : rule__Parametric__Group_11__1__Impl rule__Parametric__Group_11__2 ;
    public final void rule__Parametric__Group_11__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1782:1: ( rule__Parametric__Group_11__1__Impl rule__Parametric__Group_11__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:2: rule__Parametric__Group_11__1__Impl rule__Parametric__Group_11__2
            {
            pushFollow(FOLLOW_rule__Parametric__Group_11__1__Impl_in_rule__Parametric__Group_11__13557);
            rule__Parametric__Group_11__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_11__2_in_rule__Parametric__Group_11__13560);
            rule__Parametric__Group_11__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__1"


    // $ANTLR start "rule__Parametric__Group_11__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1790:1: rule__Parametric__Group_11__1__Impl : ( ':' ) ;
    public final void rule__Parametric__Group_11__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1794:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1795:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1795:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1796:1: ':'
            {
             before(grammarAccess.getParametricAccess().getColonKeyword_11_1()); 
            match(input,18,FOLLOW_18_in_rule__Parametric__Group_11__1__Impl3588); 
             after(grammarAccess.getParametricAccess().getColonKeyword_11_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__1__Impl"


    // $ANTLR start "rule__Parametric__Group_11__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1809:1: rule__Parametric__Group_11__2 : rule__Parametric__Group_11__2__Impl rule__Parametric__Group_11__3 ;
    public final void rule__Parametric__Group_11__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1813:1: ( rule__Parametric__Group_11__2__Impl rule__Parametric__Group_11__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1814:2: rule__Parametric__Group_11__2__Impl rule__Parametric__Group_11__3
            {
            pushFollow(FOLLOW_rule__Parametric__Group_11__2__Impl_in_rule__Parametric__Group_11__23619);
            rule__Parametric__Group_11__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Parametric__Group_11__3_in_rule__Parametric__Group_11__23622);
            rule__Parametric__Group_11__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__2"


    // $ANTLR start "rule__Parametric__Group_11__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1821:1: rule__Parametric__Group_11__2__Impl : ( ( rule__Parametric__TextureAssignment_11_2 ) ) ;
    public final void rule__Parametric__Group_11__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1825:1: ( ( ( rule__Parametric__TextureAssignment_11_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1826:1: ( ( rule__Parametric__TextureAssignment_11_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1826:1: ( ( rule__Parametric__TextureAssignment_11_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1827:1: ( rule__Parametric__TextureAssignment_11_2 )
            {
             before(grammarAccess.getParametricAccess().getTextureAssignment_11_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1828:1: ( rule__Parametric__TextureAssignment_11_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1828:2: rule__Parametric__TextureAssignment_11_2
            {
            pushFollow(FOLLOW_rule__Parametric__TextureAssignment_11_2_in_rule__Parametric__Group_11__2__Impl3649);
            rule__Parametric__TextureAssignment_11_2();

            state._fsp--;


            }

             after(grammarAccess.getParametricAccess().getTextureAssignment_11_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__2__Impl"


    // $ANTLR start "rule__Parametric__Group_11__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1838:1: rule__Parametric__Group_11__3 : rule__Parametric__Group_11__3__Impl ;
    public final void rule__Parametric__Group_11__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1842:1: ( rule__Parametric__Group_11__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1843:2: rule__Parametric__Group_11__3__Impl
            {
            pushFollow(FOLLOW_rule__Parametric__Group_11__3__Impl_in_rule__Parametric__Group_11__33679);
            rule__Parametric__Group_11__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__3"


    // $ANTLR start "rule__Parametric__Group_11__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1849:1: rule__Parametric__Group_11__3__Impl : ( ';' ) ;
    public final void rule__Parametric__Group_11__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1853:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1854:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1854:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1855:1: ';'
            {
             before(grammarAccess.getParametricAccess().getSemicolonKeyword_11_3()); 
            match(input,16,FOLLOW_16_in_rule__Parametric__Group_11__3__Impl3707); 
             after(grammarAccess.getParametricAccess().getSemicolonKeyword_11_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__Group_11__3__Impl"


    // $ANTLR start "rule__Texture__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1876:1: rule__Texture__Group__0 : rule__Texture__Group__0__Impl rule__Texture__Group__1 ;
    public final void rule__Texture__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1880:1: ( rule__Texture__Group__0__Impl rule__Texture__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1881:2: rule__Texture__Group__0__Impl rule__Texture__Group__1
            {
            pushFollow(FOLLOW_rule__Texture__Group__0__Impl_in_rule__Texture__Group__03746);
            rule__Texture__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group__1_in_rule__Texture__Group__03749);
            rule__Texture__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__0"


    // $ANTLR start "rule__Texture__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1888:1: rule__Texture__Group__0__Impl : ( 'texture' ) ;
    public final void rule__Texture__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1892:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1893:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1893:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1894:1: 'texture'
            {
             before(grammarAccess.getTextureAccess().getTextureKeyword_0()); 
            match(input,21,FOLLOW_21_in_rule__Texture__Group__0__Impl3777); 
             after(grammarAccess.getTextureAccess().getTextureKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__0__Impl"


    // $ANTLR start "rule__Texture__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1907:1: rule__Texture__Group__1 : rule__Texture__Group__1__Impl rule__Texture__Group__2 ;
    public final void rule__Texture__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1911:1: ( rule__Texture__Group__1__Impl rule__Texture__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1912:2: rule__Texture__Group__1__Impl rule__Texture__Group__2
            {
            pushFollow(FOLLOW_rule__Texture__Group__1__Impl_in_rule__Texture__Group__13808);
            rule__Texture__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group__2_in_rule__Texture__Group__13811);
            rule__Texture__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__1"


    // $ANTLR start "rule__Texture__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1919:1: rule__Texture__Group__1__Impl : ( ( rule__Texture__NameAssignment_1 ) ) ;
    public final void rule__Texture__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1923:1: ( ( ( rule__Texture__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1924:1: ( ( rule__Texture__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1924:1: ( ( rule__Texture__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1925:1: ( rule__Texture__NameAssignment_1 )
            {
             before(grammarAccess.getTextureAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1926:1: ( rule__Texture__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1926:2: rule__Texture__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Texture__NameAssignment_1_in_rule__Texture__Group__1__Impl3838);
            rule__Texture__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getTextureAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__1__Impl"


    // $ANTLR start "rule__Texture__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1936:1: rule__Texture__Group__2 : rule__Texture__Group__2__Impl rule__Texture__Group__3 ;
    public final void rule__Texture__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1940:1: ( rule__Texture__Group__2__Impl rule__Texture__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1941:2: rule__Texture__Group__2__Impl rule__Texture__Group__3
            {
            pushFollow(FOLLOW_rule__Texture__Group__2__Impl_in_rule__Texture__Group__23868);
            rule__Texture__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group__3_in_rule__Texture__Group__23871);
            rule__Texture__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__2"


    // $ANTLR start "rule__Texture__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1948:1: rule__Texture__Group__2__Impl : ( '{' ) ;
    public final void rule__Texture__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1952:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1953:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1953:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1954:1: '{'
            {
             before(grammarAccess.getTextureAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Texture__Group__2__Impl3899); 
             after(grammarAccess.getTextureAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__2__Impl"


    // $ANTLR start "rule__Texture__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1967:1: rule__Texture__Group__3 : rule__Texture__Group__3__Impl rule__Texture__Group__4 ;
    public final void rule__Texture__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1971:1: ( rule__Texture__Group__3__Impl rule__Texture__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1972:2: rule__Texture__Group__3__Impl rule__Texture__Group__4
            {
            pushFollow(FOLLOW_rule__Texture__Group__3__Impl_in_rule__Texture__Group__33930);
            rule__Texture__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group__4_in_rule__Texture__Group__33933);
            rule__Texture__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__3"


    // $ANTLR start "rule__Texture__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1979:1: rule__Texture__Group__3__Impl : ( ( rule__Texture__Group_3__0 )? ) ;
    public final void rule__Texture__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1983:1: ( ( ( rule__Texture__Group_3__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1984:1: ( ( rule__Texture__Group_3__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1984:1: ( ( rule__Texture__Group_3__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1985:1: ( rule__Texture__Group_3__0 )?
            {
             before(grammarAccess.getTextureAccess().getGroup_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1986:1: ( rule__Texture__Group_3__0 )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==22) ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1986:2: rule__Texture__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Texture__Group_3__0_in_rule__Texture__Group__3__Impl3960);
                    rule__Texture__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTextureAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__3__Impl"


    // $ANTLR start "rule__Texture__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1996:1: rule__Texture__Group__4 : rule__Texture__Group__4__Impl rule__Texture__Group__5 ;
    public final void rule__Texture__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2000:1: ( rule__Texture__Group__4__Impl rule__Texture__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2001:2: rule__Texture__Group__4__Impl rule__Texture__Group__5
            {
            pushFollow(FOLLOW_rule__Texture__Group__4__Impl_in_rule__Texture__Group__43991);
            rule__Texture__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group__5_in_rule__Texture__Group__43994);
            rule__Texture__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__4"


    // $ANTLR start "rule__Texture__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2008:1: rule__Texture__Group__4__Impl : ( ( rule__Texture__Group_4__0 )? ) ;
    public final void rule__Texture__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2012:1: ( ( ( rule__Texture__Group_4__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2013:1: ( ( rule__Texture__Group_4__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2013:1: ( ( rule__Texture__Group_4__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2014:1: ( rule__Texture__Group_4__0 )?
            {
             before(grammarAccess.getTextureAccess().getGroup_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2015:1: ( rule__Texture__Group_4__0 )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==23) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2015:2: rule__Texture__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__Texture__Group_4__0_in_rule__Texture__Group__4__Impl4021);
                    rule__Texture__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTextureAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__4__Impl"


    // $ANTLR start "rule__Texture__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2025:1: rule__Texture__Group__5 : rule__Texture__Group__5__Impl ;
    public final void rule__Texture__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2029:1: ( rule__Texture__Group__5__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2030:2: rule__Texture__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Texture__Group__5__Impl_in_rule__Texture__Group__54052);
            rule__Texture__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__5"


    // $ANTLR start "rule__Texture__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2036:1: rule__Texture__Group__5__Impl : ( '}' ) ;
    public final void rule__Texture__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2040:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2041:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2041:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2042:1: '}'
            {
             before(grammarAccess.getTextureAccess().getRightCurlyBracketKeyword_5()); 
            match(input,13,FOLLOW_13_in_rule__Texture__Group__5__Impl4080); 
             after(grammarAccess.getTextureAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group__5__Impl"


    // $ANTLR start "rule__Texture__Group_3__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2067:1: rule__Texture__Group_3__0 : rule__Texture__Group_3__0__Impl rule__Texture__Group_3__1 ;
    public final void rule__Texture__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2071:1: ( rule__Texture__Group_3__0__Impl rule__Texture__Group_3__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2072:2: rule__Texture__Group_3__0__Impl rule__Texture__Group_3__1
            {
            pushFollow(FOLLOW_rule__Texture__Group_3__0__Impl_in_rule__Texture__Group_3__04123);
            rule__Texture__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group_3__1_in_rule__Texture__Group_3__04126);
            rule__Texture__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__0"


    // $ANTLR start "rule__Texture__Group_3__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2079:1: rule__Texture__Group_3__0__Impl : ( 'imageUrl' ) ;
    public final void rule__Texture__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2083:1: ( ( 'imageUrl' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2084:1: ( 'imageUrl' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2084:1: ( 'imageUrl' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2085:1: 'imageUrl'
            {
             before(grammarAccess.getTextureAccess().getImageUrlKeyword_3_0()); 
            match(input,22,FOLLOW_22_in_rule__Texture__Group_3__0__Impl4154); 
             after(grammarAccess.getTextureAccess().getImageUrlKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__0__Impl"


    // $ANTLR start "rule__Texture__Group_3__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2098:1: rule__Texture__Group_3__1 : rule__Texture__Group_3__1__Impl rule__Texture__Group_3__2 ;
    public final void rule__Texture__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2102:1: ( rule__Texture__Group_3__1__Impl rule__Texture__Group_3__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2103:2: rule__Texture__Group_3__1__Impl rule__Texture__Group_3__2
            {
            pushFollow(FOLLOW_rule__Texture__Group_3__1__Impl_in_rule__Texture__Group_3__14185);
            rule__Texture__Group_3__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group_3__2_in_rule__Texture__Group_3__14188);
            rule__Texture__Group_3__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__1"


    // $ANTLR start "rule__Texture__Group_3__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2110:1: rule__Texture__Group_3__1__Impl : ( ':' ) ;
    public final void rule__Texture__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2114:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2115:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2115:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2116:1: ':'
            {
             before(grammarAccess.getTextureAccess().getColonKeyword_3_1()); 
            match(input,18,FOLLOW_18_in_rule__Texture__Group_3__1__Impl4216); 
             after(grammarAccess.getTextureAccess().getColonKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__1__Impl"


    // $ANTLR start "rule__Texture__Group_3__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2129:1: rule__Texture__Group_3__2 : rule__Texture__Group_3__2__Impl rule__Texture__Group_3__3 ;
    public final void rule__Texture__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2133:1: ( rule__Texture__Group_3__2__Impl rule__Texture__Group_3__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2134:2: rule__Texture__Group_3__2__Impl rule__Texture__Group_3__3
            {
            pushFollow(FOLLOW_rule__Texture__Group_3__2__Impl_in_rule__Texture__Group_3__24247);
            rule__Texture__Group_3__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group_3__3_in_rule__Texture__Group_3__24250);
            rule__Texture__Group_3__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__2"


    // $ANTLR start "rule__Texture__Group_3__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2141:1: rule__Texture__Group_3__2__Impl : ( ( rule__Texture__ImgURLAssignment_3_2 ) ) ;
    public final void rule__Texture__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2145:1: ( ( ( rule__Texture__ImgURLAssignment_3_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2146:1: ( ( rule__Texture__ImgURLAssignment_3_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2146:1: ( ( rule__Texture__ImgURLAssignment_3_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2147:1: ( rule__Texture__ImgURLAssignment_3_2 )
            {
             before(grammarAccess.getTextureAccess().getImgURLAssignment_3_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2148:1: ( rule__Texture__ImgURLAssignment_3_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2148:2: rule__Texture__ImgURLAssignment_3_2
            {
            pushFollow(FOLLOW_rule__Texture__ImgURLAssignment_3_2_in_rule__Texture__Group_3__2__Impl4277);
            rule__Texture__ImgURLAssignment_3_2();

            state._fsp--;


            }

             after(grammarAccess.getTextureAccess().getImgURLAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__2__Impl"


    // $ANTLR start "rule__Texture__Group_3__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2158:1: rule__Texture__Group_3__3 : rule__Texture__Group_3__3__Impl ;
    public final void rule__Texture__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2162:1: ( rule__Texture__Group_3__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2163:2: rule__Texture__Group_3__3__Impl
            {
            pushFollow(FOLLOW_rule__Texture__Group_3__3__Impl_in_rule__Texture__Group_3__34307);
            rule__Texture__Group_3__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__3"


    // $ANTLR start "rule__Texture__Group_3__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2169:1: rule__Texture__Group_3__3__Impl : ( ';' ) ;
    public final void rule__Texture__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2173:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2174:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2174:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2175:1: ';'
            {
             before(grammarAccess.getTextureAccess().getSemicolonKeyword_3_3()); 
            match(input,16,FOLLOW_16_in_rule__Texture__Group_3__3__Impl4335); 
             after(grammarAccess.getTextureAccess().getSemicolonKeyword_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_3__3__Impl"


    // $ANTLR start "rule__Texture__Group_4__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2196:1: rule__Texture__Group_4__0 : rule__Texture__Group_4__0__Impl rule__Texture__Group_4__1 ;
    public final void rule__Texture__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2200:1: ( rule__Texture__Group_4__0__Impl rule__Texture__Group_4__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2201:2: rule__Texture__Group_4__0__Impl rule__Texture__Group_4__1
            {
            pushFollow(FOLLOW_rule__Texture__Group_4__0__Impl_in_rule__Texture__Group_4__04374);
            rule__Texture__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group_4__1_in_rule__Texture__Group_4__04377);
            rule__Texture__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__0"


    // $ANTLR start "rule__Texture__Group_4__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2208:1: rule__Texture__Group_4__0__Impl : ( 'color' ) ;
    public final void rule__Texture__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2212:1: ( ( 'color' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2213:1: ( 'color' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2213:1: ( 'color' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2214:1: 'color'
            {
             before(grammarAccess.getTextureAccess().getColorKeyword_4_0()); 
            match(input,23,FOLLOW_23_in_rule__Texture__Group_4__0__Impl4405); 
             after(grammarAccess.getTextureAccess().getColorKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__0__Impl"


    // $ANTLR start "rule__Texture__Group_4__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2227:1: rule__Texture__Group_4__1 : rule__Texture__Group_4__1__Impl rule__Texture__Group_4__2 ;
    public final void rule__Texture__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2231:1: ( rule__Texture__Group_4__1__Impl rule__Texture__Group_4__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2232:2: rule__Texture__Group_4__1__Impl rule__Texture__Group_4__2
            {
            pushFollow(FOLLOW_rule__Texture__Group_4__1__Impl_in_rule__Texture__Group_4__14436);
            rule__Texture__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group_4__2_in_rule__Texture__Group_4__14439);
            rule__Texture__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__1"


    // $ANTLR start "rule__Texture__Group_4__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2239:1: rule__Texture__Group_4__1__Impl : ( ':' ) ;
    public final void rule__Texture__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2243:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2244:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2244:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2245:1: ':'
            {
             before(grammarAccess.getTextureAccess().getColonKeyword_4_1()); 
            match(input,18,FOLLOW_18_in_rule__Texture__Group_4__1__Impl4467); 
             after(grammarAccess.getTextureAccess().getColonKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__1__Impl"


    // $ANTLR start "rule__Texture__Group_4__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2258:1: rule__Texture__Group_4__2 : rule__Texture__Group_4__2__Impl rule__Texture__Group_4__3 ;
    public final void rule__Texture__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2262:1: ( rule__Texture__Group_4__2__Impl rule__Texture__Group_4__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2263:2: rule__Texture__Group_4__2__Impl rule__Texture__Group_4__3
            {
            pushFollow(FOLLOW_rule__Texture__Group_4__2__Impl_in_rule__Texture__Group_4__24498);
            rule__Texture__Group_4__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Texture__Group_4__3_in_rule__Texture__Group_4__24501);
            rule__Texture__Group_4__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__2"


    // $ANTLR start "rule__Texture__Group_4__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2270:1: rule__Texture__Group_4__2__Impl : ( ( rule__Texture__ColorAssignment_4_2 ) ) ;
    public final void rule__Texture__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2274:1: ( ( ( rule__Texture__ColorAssignment_4_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2275:1: ( ( rule__Texture__ColorAssignment_4_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2275:1: ( ( rule__Texture__ColorAssignment_4_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2276:1: ( rule__Texture__ColorAssignment_4_2 )
            {
             before(grammarAccess.getTextureAccess().getColorAssignment_4_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2277:1: ( rule__Texture__ColorAssignment_4_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2277:2: rule__Texture__ColorAssignment_4_2
            {
            pushFollow(FOLLOW_rule__Texture__ColorAssignment_4_2_in_rule__Texture__Group_4__2__Impl4528);
            rule__Texture__ColorAssignment_4_2();

            state._fsp--;


            }

             after(grammarAccess.getTextureAccess().getColorAssignment_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__2__Impl"


    // $ANTLR start "rule__Texture__Group_4__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2287:1: rule__Texture__Group_4__3 : rule__Texture__Group_4__3__Impl ;
    public final void rule__Texture__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2291:1: ( rule__Texture__Group_4__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2292:2: rule__Texture__Group_4__3__Impl
            {
            pushFollow(FOLLOW_rule__Texture__Group_4__3__Impl_in_rule__Texture__Group_4__34558);
            rule__Texture__Group_4__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__3"


    // $ANTLR start "rule__Texture__Group_4__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2298:1: rule__Texture__Group_4__3__Impl : ( ';' ) ;
    public final void rule__Texture__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2302:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2303:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2303:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2304:1: ';'
            {
             before(grammarAccess.getTextureAccess().getSemicolonKeyword_4_3()); 
            match(input,16,FOLLOW_16_in_rule__Texture__Group_4__3__Impl4586); 
             after(grammarAccess.getTextureAccess().getSemicolonKeyword_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__Group_4__3__Impl"


    // $ANTLR start "rule__Translation__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2325:1: rule__Translation__Group__0 : rule__Translation__Group__0__Impl rule__Translation__Group__1 ;
    public final void rule__Translation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2329:1: ( rule__Translation__Group__0__Impl rule__Translation__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2330:2: rule__Translation__Group__0__Impl rule__Translation__Group__1
            {
            pushFollow(FOLLOW_rule__Translation__Group__0__Impl_in_rule__Translation__Group__04625);
            rule__Translation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__1_in_rule__Translation__Group__04628);
            rule__Translation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__0"


    // $ANTLR start "rule__Translation__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2337:1: rule__Translation__Group__0__Impl : ( 'translation' ) ;
    public final void rule__Translation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2341:1: ( ( 'translation' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2342:1: ( 'translation' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2342:1: ( 'translation' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2343:1: 'translation'
            {
             before(grammarAccess.getTranslationAccess().getTranslationKeyword_0()); 
            match(input,24,FOLLOW_24_in_rule__Translation__Group__0__Impl4656); 
             after(grammarAccess.getTranslationAccess().getTranslationKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__0__Impl"


    // $ANTLR start "rule__Translation__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2356:1: rule__Translation__Group__1 : rule__Translation__Group__1__Impl rule__Translation__Group__2 ;
    public final void rule__Translation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2360:1: ( rule__Translation__Group__1__Impl rule__Translation__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2361:2: rule__Translation__Group__1__Impl rule__Translation__Group__2
            {
            pushFollow(FOLLOW_rule__Translation__Group__1__Impl_in_rule__Translation__Group__14687);
            rule__Translation__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__2_in_rule__Translation__Group__14690);
            rule__Translation__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__1"


    // $ANTLR start "rule__Translation__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2368:1: rule__Translation__Group__1__Impl : ( '(' ) ;
    public final void rule__Translation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2372:1: ( ( '(' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2373:1: ( '(' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2373:1: ( '(' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2374:1: '('
            {
             before(grammarAccess.getTranslationAccess().getLeftParenthesisKeyword_1()); 
            match(input,25,FOLLOW_25_in_rule__Translation__Group__1__Impl4718); 
             after(grammarAccess.getTranslationAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__1__Impl"


    // $ANTLR start "rule__Translation__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2387:1: rule__Translation__Group__2 : rule__Translation__Group__2__Impl rule__Translation__Group__3 ;
    public final void rule__Translation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2391:1: ( rule__Translation__Group__2__Impl rule__Translation__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2392:2: rule__Translation__Group__2__Impl rule__Translation__Group__3
            {
            pushFollow(FOLLOW_rule__Translation__Group__2__Impl_in_rule__Translation__Group__24749);
            rule__Translation__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__3_in_rule__Translation__Group__24752);
            rule__Translation__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__2"


    // $ANTLR start "rule__Translation__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2399:1: rule__Translation__Group__2__Impl : ( ( rule__Translation__XCordAssignment_2 ) ) ;
    public final void rule__Translation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2403:1: ( ( ( rule__Translation__XCordAssignment_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2404:1: ( ( rule__Translation__XCordAssignment_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2404:1: ( ( rule__Translation__XCordAssignment_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2405:1: ( rule__Translation__XCordAssignment_2 )
            {
             before(grammarAccess.getTranslationAccess().getXCordAssignment_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2406:1: ( rule__Translation__XCordAssignment_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2406:2: rule__Translation__XCordAssignment_2
            {
            pushFollow(FOLLOW_rule__Translation__XCordAssignment_2_in_rule__Translation__Group__2__Impl4779);
            rule__Translation__XCordAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getTranslationAccess().getXCordAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__2__Impl"


    // $ANTLR start "rule__Translation__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2416:1: rule__Translation__Group__3 : rule__Translation__Group__3__Impl rule__Translation__Group__4 ;
    public final void rule__Translation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2420:1: ( rule__Translation__Group__3__Impl rule__Translation__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2421:2: rule__Translation__Group__3__Impl rule__Translation__Group__4
            {
            pushFollow(FOLLOW_rule__Translation__Group__3__Impl_in_rule__Translation__Group__34809);
            rule__Translation__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__4_in_rule__Translation__Group__34812);
            rule__Translation__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__3"


    // $ANTLR start "rule__Translation__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2428:1: rule__Translation__Group__3__Impl : ( ',' ) ;
    public final void rule__Translation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2432:1: ( ( ',' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2433:1: ( ',' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2433:1: ( ',' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2434:1: ','
            {
             before(grammarAccess.getTranslationAccess().getCommaKeyword_3()); 
            match(input,26,FOLLOW_26_in_rule__Translation__Group__3__Impl4840); 
             after(grammarAccess.getTranslationAccess().getCommaKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__3__Impl"


    // $ANTLR start "rule__Translation__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2447:1: rule__Translation__Group__4 : rule__Translation__Group__4__Impl rule__Translation__Group__5 ;
    public final void rule__Translation__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2451:1: ( rule__Translation__Group__4__Impl rule__Translation__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2452:2: rule__Translation__Group__4__Impl rule__Translation__Group__5
            {
            pushFollow(FOLLOW_rule__Translation__Group__4__Impl_in_rule__Translation__Group__44871);
            rule__Translation__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__5_in_rule__Translation__Group__44874);
            rule__Translation__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__4"


    // $ANTLR start "rule__Translation__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2459:1: rule__Translation__Group__4__Impl : ( ( rule__Translation__YCordAssignment_4 ) ) ;
    public final void rule__Translation__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2463:1: ( ( ( rule__Translation__YCordAssignment_4 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2464:1: ( ( rule__Translation__YCordAssignment_4 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2464:1: ( ( rule__Translation__YCordAssignment_4 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2465:1: ( rule__Translation__YCordAssignment_4 )
            {
             before(grammarAccess.getTranslationAccess().getYCordAssignment_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2466:1: ( rule__Translation__YCordAssignment_4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2466:2: rule__Translation__YCordAssignment_4
            {
            pushFollow(FOLLOW_rule__Translation__YCordAssignment_4_in_rule__Translation__Group__4__Impl4901);
            rule__Translation__YCordAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getTranslationAccess().getYCordAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__4__Impl"


    // $ANTLR start "rule__Translation__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2476:1: rule__Translation__Group__5 : rule__Translation__Group__5__Impl rule__Translation__Group__6 ;
    public final void rule__Translation__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2480:1: ( rule__Translation__Group__5__Impl rule__Translation__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2481:2: rule__Translation__Group__5__Impl rule__Translation__Group__6
            {
            pushFollow(FOLLOW_rule__Translation__Group__5__Impl_in_rule__Translation__Group__54931);
            rule__Translation__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__6_in_rule__Translation__Group__54934);
            rule__Translation__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__5"


    // $ANTLR start "rule__Translation__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2488:1: rule__Translation__Group__5__Impl : ( ',' ) ;
    public final void rule__Translation__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2492:1: ( ( ',' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2493:1: ( ',' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2493:1: ( ',' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2494:1: ','
            {
             before(grammarAccess.getTranslationAccess().getCommaKeyword_5()); 
            match(input,26,FOLLOW_26_in_rule__Translation__Group__5__Impl4962); 
             after(grammarAccess.getTranslationAccess().getCommaKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__5__Impl"


    // $ANTLR start "rule__Translation__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2507:1: rule__Translation__Group__6 : rule__Translation__Group__6__Impl rule__Translation__Group__7 ;
    public final void rule__Translation__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2511:1: ( rule__Translation__Group__6__Impl rule__Translation__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2512:2: rule__Translation__Group__6__Impl rule__Translation__Group__7
            {
            pushFollow(FOLLOW_rule__Translation__Group__6__Impl_in_rule__Translation__Group__64993);
            rule__Translation__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Translation__Group__7_in_rule__Translation__Group__64996);
            rule__Translation__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__6"


    // $ANTLR start "rule__Translation__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2519:1: rule__Translation__Group__6__Impl : ( ( rule__Translation__ZCordAssignment_6 ) ) ;
    public final void rule__Translation__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2523:1: ( ( ( rule__Translation__ZCordAssignment_6 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2524:1: ( ( rule__Translation__ZCordAssignment_6 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2524:1: ( ( rule__Translation__ZCordAssignment_6 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2525:1: ( rule__Translation__ZCordAssignment_6 )
            {
             before(grammarAccess.getTranslationAccess().getZCordAssignment_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2526:1: ( rule__Translation__ZCordAssignment_6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2526:2: rule__Translation__ZCordAssignment_6
            {
            pushFollow(FOLLOW_rule__Translation__ZCordAssignment_6_in_rule__Translation__Group__6__Impl5023);
            rule__Translation__ZCordAssignment_6();

            state._fsp--;


            }

             after(grammarAccess.getTranslationAccess().getZCordAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__6__Impl"


    // $ANTLR start "rule__Translation__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2536:1: rule__Translation__Group__7 : rule__Translation__Group__7__Impl ;
    public final void rule__Translation__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2540:1: ( rule__Translation__Group__7__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2541:2: rule__Translation__Group__7__Impl
            {
            pushFollow(FOLLOW_rule__Translation__Group__7__Impl_in_rule__Translation__Group__75053);
            rule__Translation__Group__7__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__7"


    // $ANTLR start "rule__Translation__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2547:1: rule__Translation__Group__7__Impl : ( ')' ) ;
    public final void rule__Translation__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2551:1: ( ( ')' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2552:1: ( ')' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2552:1: ( ')' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2553:1: ')'
            {
             before(grammarAccess.getTranslationAccess().getRightParenthesisKeyword_7()); 
            match(input,27,FOLLOW_27_in_rule__Translation__Group__7__Impl5081); 
             after(grammarAccess.getTranslationAccess().getRightParenthesisKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__Group__7__Impl"


    // $ANTLR start "rule__Prototype__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2582:1: rule__Prototype__Group__0 : rule__Prototype__Group__0__Impl rule__Prototype__Group__1 ;
    public final void rule__Prototype__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2586:1: ( rule__Prototype__Group__0__Impl rule__Prototype__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2587:2: rule__Prototype__Group__0__Impl rule__Prototype__Group__1
            {
            pushFollow(FOLLOW_rule__Prototype__Group__0__Impl_in_rule__Prototype__Group__05128);
            rule__Prototype__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__1_in_rule__Prototype__Group__05131);
            rule__Prototype__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__0"


    // $ANTLR start "rule__Prototype__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2594:1: rule__Prototype__Group__0__Impl : ( 'prototype' ) ;
    public final void rule__Prototype__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2598:1: ( ( 'prototype' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2599:1: ( 'prototype' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2599:1: ( 'prototype' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2600:1: 'prototype'
            {
             before(grammarAccess.getPrototypeAccess().getPrototypeKeyword_0()); 
            match(input,28,FOLLOW_28_in_rule__Prototype__Group__0__Impl5159); 
             after(grammarAccess.getPrototypeAccess().getPrototypeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__0__Impl"


    // $ANTLR start "rule__Prototype__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2613:1: rule__Prototype__Group__1 : rule__Prototype__Group__1__Impl rule__Prototype__Group__2 ;
    public final void rule__Prototype__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2617:1: ( rule__Prototype__Group__1__Impl rule__Prototype__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2618:2: rule__Prototype__Group__1__Impl rule__Prototype__Group__2
            {
            pushFollow(FOLLOW_rule__Prototype__Group__1__Impl_in_rule__Prototype__Group__15190);
            rule__Prototype__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__2_in_rule__Prototype__Group__15193);
            rule__Prototype__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__1"


    // $ANTLR start "rule__Prototype__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2625:1: rule__Prototype__Group__1__Impl : ( ( rule__Prototype__NameAssignment_1 ) ) ;
    public final void rule__Prototype__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2629:1: ( ( ( rule__Prototype__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2630:1: ( ( rule__Prototype__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2630:1: ( ( rule__Prototype__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2631:1: ( rule__Prototype__NameAssignment_1 )
            {
             before(grammarAccess.getPrototypeAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2632:1: ( rule__Prototype__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2632:2: rule__Prototype__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Prototype__NameAssignment_1_in_rule__Prototype__Group__1__Impl5220);
            rule__Prototype__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getPrototypeAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__1__Impl"


    // $ANTLR start "rule__Prototype__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2642:1: rule__Prototype__Group__2 : rule__Prototype__Group__2__Impl rule__Prototype__Group__3 ;
    public final void rule__Prototype__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2646:1: ( rule__Prototype__Group__2__Impl rule__Prototype__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2647:2: rule__Prototype__Group__2__Impl rule__Prototype__Group__3
            {
            pushFollow(FOLLOW_rule__Prototype__Group__2__Impl_in_rule__Prototype__Group__25250);
            rule__Prototype__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__3_in_rule__Prototype__Group__25253);
            rule__Prototype__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__2"


    // $ANTLR start "rule__Prototype__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2654:1: rule__Prototype__Group__2__Impl : ( '{' ) ;
    public final void rule__Prototype__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2658:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2659:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2659:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2660:1: '{'
            {
             before(grammarAccess.getPrototypeAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Prototype__Group__2__Impl5281); 
             after(grammarAccess.getPrototypeAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__2__Impl"


    // $ANTLR start "rule__Prototype__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2673:1: rule__Prototype__Group__3 : rule__Prototype__Group__3__Impl rule__Prototype__Group__4 ;
    public final void rule__Prototype__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2677:1: ( rule__Prototype__Group__3__Impl rule__Prototype__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2678:2: rule__Prototype__Group__3__Impl rule__Prototype__Group__4
            {
            pushFollow(FOLLOW_rule__Prototype__Group__3__Impl_in_rule__Prototype__Group__35312);
            rule__Prototype__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__4_in_rule__Prototype__Group__35315);
            rule__Prototype__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__3"


    // $ANTLR start "rule__Prototype__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2685:1: rule__Prototype__Group__3__Impl : ( ( rule__Prototype__TranslationAssignment_3 ) ) ;
    public final void rule__Prototype__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2689:1: ( ( ( rule__Prototype__TranslationAssignment_3 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2690:1: ( ( rule__Prototype__TranslationAssignment_3 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2690:1: ( ( rule__Prototype__TranslationAssignment_3 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2691:1: ( rule__Prototype__TranslationAssignment_3 )
            {
             before(grammarAccess.getPrototypeAccess().getTranslationAssignment_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2692:1: ( rule__Prototype__TranslationAssignment_3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2692:2: rule__Prototype__TranslationAssignment_3
            {
            pushFollow(FOLLOW_rule__Prototype__TranslationAssignment_3_in_rule__Prototype__Group__3__Impl5342);
            rule__Prototype__TranslationAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getPrototypeAccess().getTranslationAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__3__Impl"


    // $ANTLR start "rule__Prototype__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2702:1: rule__Prototype__Group__4 : rule__Prototype__Group__4__Impl rule__Prototype__Group__5 ;
    public final void rule__Prototype__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2706:1: ( rule__Prototype__Group__4__Impl rule__Prototype__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2707:2: rule__Prototype__Group__4__Impl rule__Prototype__Group__5
            {
            pushFollow(FOLLOW_rule__Prototype__Group__4__Impl_in_rule__Prototype__Group__45372);
            rule__Prototype__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__5_in_rule__Prototype__Group__45375);
            rule__Prototype__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__4"


    // $ANTLR start "rule__Prototype__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2714:1: rule__Prototype__Group__4__Impl : ( ';' ) ;
    public final void rule__Prototype__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2718:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2719:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2719:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2720:1: ';'
            {
             before(grammarAccess.getPrototypeAccess().getSemicolonKeyword_4()); 
            match(input,16,FOLLOW_16_in_rule__Prototype__Group__4__Impl5403); 
             after(grammarAccess.getPrototypeAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__4__Impl"


    // $ANTLR start "rule__Prototype__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2733:1: rule__Prototype__Group__5 : rule__Prototype__Group__5__Impl rule__Prototype__Group__6 ;
    public final void rule__Prototype__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2737:1: ( rule__Prototype__Group__5__Impl rule__Prototype__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2738:2: rule__Prototype__Group__5__Impl rule__Prototype__Group__6
            {
            pushFollow(FOLLOW_rule__Prototype__Group__5__Impl_in_rule__Prototype__Group__55434);
            rule__Prototype__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__6_in_rule__Prototype__Group__55437);
            rule__Prototype__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__5"


    // $ANTLR start "rule__Prototype__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2745:1: rule__Prototype__Group__5__Impl : ( ( rule__Prototype__WallsAssignment_5 )* ) ;
    public final void rule__Prototype__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2749:1: ( ( ( rule__Prototype__WallsAssignment_5 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2750:1: ( ( rule__Prototype__WallsAssignment_5 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2750:1: ( ( rule__Prototype__WallsAssignment_5 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2751:1: ( rule__Prototype__WallsAssignment_5 )*
            {
             before(grammarAccess.getPrototypeAccess().getWallsAssignment_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2752:1: ( rule__Prototype__WallsAssignment_5 )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==29) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2752:2: rule__Prototype__WallsAssignment_5
            	    {
            	    pushFollow(FOLLOW_rule__Prototype__WallsAssignment_5_in_rule__Prototype__Group__5__Impl5464);
            	    rule__Prototype__WallsAssignment_5();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);

             after(grammarAccess.getPrototypeAccess().getWallsAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__5__Impl"


    // $ANTLR start "rule__Prototype__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2762:1: rule__Prototype__Group__6 : rule__Prototype__Group__6__Impl rule__Prototype__Group__7 ;
    public final void rule__Prototype__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2766:1: ( rule__Prototype__Group__6__Impl rule__Prototype__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2767:2: rule__Prototype__Group__6__Impl rule__Prototype__Group__7
            {
            pushFollow(FOLLOW_rule__Prototype__Group__6__Impl_in_rule__Prototype__Group__65495);
            rule__Prototype__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__7_in_rule__Prototype__Group__65498);
            rule__Prototype__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__6"


    // $ANTLR start "rule__Prototype__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2774:1: rule__Prototype__Group__6__Impl : ( ( rule__Prototype__OpeningsAssignment_6 )* ) ;
    public final void rule__Prototype__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2778:1: ( ( ( rule__Prototype__OpeningsAssignment_6 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2779:1: ( ( rule__Prototype__OpeningsAssignment_6 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2779:1: ( ( rule__Prototype__OpeningsAssignment_6 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2780:1: ( rule__Prototype__OpeningsAssignment_6 )*
            {
             before(grammarAccess.getPrototypeAccess().getOpeningsAssignment_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2781:1: ( rule__Prototype__OpeningsAssignment_6 )*
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( (LA16_0==35||LA16_0==37) ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2781:2: rule__Prototype__OpeningsAssignment_6
            	    {
            	    pushFollow(FOLLOW_rule__Prototype__OpeningsAssignment_6_in_rule__Prototype__Group__6__Impl5525);
            	    rule__Prototype__OpeningsAssignment_6();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop16;
                }
            } while (true);

             after(grammarAccess.getPrototypeAccess().getOpeningsAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__6__Impl"


    // $ANTLR start "rule__Prototype__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2791:1: rule__Prototype__Group__7 : rule__Prototype__Group__7__Impl rule__Prototype__Group__8 ;
    public final void rule__Prototype__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2795:1: ( rule__Prototype__Group__7__Impl rule__Prototype__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2796:2: rule__Prototype__Group__7__Impl rule__Prototype__Group__8
            {
            pushFollow(FOLLOW_rule__Prototype__Group__7__Impl_in_rule__Prototype__Group__75556);
            rule__Prototype__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Prototype__Group__8_in_rule__Prototype__Group__75559);
            rule__Prototype__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__7"


    // $ANTLR start "rule__Prototype__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2803:1: rule__Prototype__Group__7__Impl : ( ( rule__Prototype__RoofAssignment_7 )? ) ;
    public final void rule__Prototype__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2807:1: ( ( ( rule__Prototype__RoofAssignment_7 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2808:1: ( ( rule__Prototype__RoofAssignment_7 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2808:1: ( ( rule__Prototype__RoofAssignment_7 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2809:1: ( rule__Prototype__RoofAssignment_7 )?
            {
             before(grammarAccess.getPrototypeAccess().getRoofAssignment_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2810:1: ( rule__Prototype__RoofAssignment_7 )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==33) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2810:2: rule__Prototype__RoofAssignment_7
                    {
                    pushFollow(FOLLOW_rule__Prototype__RoofAssignment_7_in_rule__Prototype__Group__7__Impl5586);
                    rule__Prototype__RoofAssignment_7();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPrototypeAccess().getRoofAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__7__Impl"


    // $ANTLR start "rule__Prototype__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2820:1: rule__Prototype__Group__8 : rule__Prototype__Group__8__Impl ;
    public final void rule__Prototype__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2824:1: ( rule__Prototype__Group__8__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2825:2: rule__Prototype__Group__8__Impl
            {
            pushFollow(FOLLOW_rule__Prototype__Group__8__Impl_in_rule__Prototype__Group__85617);
            rule__Prototype__Group__8__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__8"


    // $ANTLR start "rule__Prototype__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2831:1: rule__Prototype__Group__8__Impl : ( '}' ) ;
    public final void rule__Prototype__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2835:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2836:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2836:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2837:1: '}'
            {
             before(grammarAccess.getPrototypeAccess().getRightCurlyBracketKeyword_8()); 
            match(input,13,FOLLOW_13_in_rule__Prototype__Group__8__Impl5645); 
             after(grammarAccess.getPrototypeAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__Group__8__Impl"


    // $ANTLR start "rule__Wall__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2868:1: rule__Wall__Group__0 : rule__Wall__Group__0__Impl rule__Wall__Group__1 ;
    public final void rule__Wall__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2872:1: ( rule__Wall__Group__0__Impl rule__Wall__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2873:2: rule__Wall__Group__0__Impl rule__Wall__Group__1
            {
            pushFollow(FOLLOW_rule__Wall__Group__0__Impl_in_rule__Wall__Group__05694);
            rule__Wall__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__1_in_rule__Wall__Group__05697);
            rule__Wall__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__0"


    // $ANTLR start "rule__Wall__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2880:1: rule__Wall__Group__0__Impl : ( 'wall' ) ;
    public final void rule__Wall__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2884:1: ( ( 'wall' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2885:1: ( 'wall' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2885:1: ( 'wall' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2886:1: 'wall'
            {
             before(grammarAccess.getWallAccess().getWallKeyword_0()); 
            match(input,29,FOLLOW_29_in_rule__Wall__Group__0__Impl5725); 
             after(grammarAccess.getWallAccess().getWallKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__0__Impl"


    // $ANTLR start "rule__Wall__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2899:1: rule__Wall__Group__1 : rule__Wall__Group__1__Impl rule__Wall__Group__2 ;
    public final void rule__Wall__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2903:1: ( rule__Wall__Group__1__Impl rule__Wall__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:2: rule__Wall__Group__1__Impl rule__Wall__Group__2
            {
            pushFollow(FOLLOW_rule__Wall__Group__1__Impl_in_rule__Wall__Group__15756);
            rule__Wall__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__2_in_rule__Wall__Group__15759);
            rule__Wall__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__1"


    // $ANTLR start "rule__Wall__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2911:1: rule__Wall__Group__1__Impl : ( ( rule__Wall__NameAssignment_1 ) ) ;
    public final void rule__Wall__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2915:1: ( ( ( rule__Wall__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2916:1: ( ( rule__Wall__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2916:1: ( ( rule__Wall__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2917:1: ( rule__Wall__NameAssignment_1 )
            {
             before(grammarAccess.getWallAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2918:1: ( rule__Wall__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2918:2: rule__Wall__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Wall__NameAssignment_1_in_rule__Wall__Group__1__Impl5786);
            rule__Wall__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getWallAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__1__Impl"


    // $ANTLR start "rule__Wall__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2928:1: rule__Wall__Group__2 : rule__Wall__Group__2__Impl rule__Wall__Group__3 ;
    public final void rule__Wall__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:1: ( rule__Wall__Group__2__Impl rule__Wall__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2933:2: rule__Wall__Group__2__Impl rule__Wall__Group__3
            {
            pushFollow(FOLLOW_rule__Wall__Group__2__Impl_in_rule__Wall__Group__25816);
            rule__Wall__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__3_in_rule__Wall__Group__25819);
            rule__Wall__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__2"


    // $ANTLR start "rule__Wall__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:1: rule__Wall__Group__2__Impl : ( '{' ) ;
    public final void rule__Wall__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2944:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2945:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2945:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2946:1: '{'
            {
             before(grammarAccess.getWallAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Wall__Group__2__Impl5847); 
             after(grammarAccess.getWallAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__2__Impl"


    // $ANTLR start "rule__Wall__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2959:1: rule__Wall__Group__3 : rule__Wall__Group__3__Impl rule__Wall__Group__4 ;
    public final void rule__Wall__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2963:1: ( rule__Wall__Group__3__Impl rule__Wall__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2964:2: rule__Wall__Group__3__Impl rule__Wall__Group__4
            {
            pushFollow(FOLLOW_rule__Wall__Group__3__Impl_in_rule__Wall__Group__35878);
            rule__Wall__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__4_in_rule__Wall__Group__35881);
            rule__Wall__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__3"


    // $ANTLR start "rule__Wall__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2971:1: rule__Wall__Group__3__Impl : ( 'start' ) ;
    public final void rule__Wall__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2975:1: ( ( 'start' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2976:1: ( 'start' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2976:1: ( 'start' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2977:1: 'start'
            {
             before(grammarAccess.getWallAccess().getStartKeyword_3()); 
            match(input,30,FOLLOW_30_in_rule__Wall__Group__3__Impl5909); 
             after(grammarAccess.getWallAccess().getStartKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__3__Impl"


    // $ANTLR start "rule__Wall__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2990:1: rule__Wall__Group__4 : rule__Wall__Group__4__Impl rule__Wall__Group__5 ;
    public final void rule__Wall__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2994:1: ( rule__Wall__Group__4__Impl rule__Wall__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2995:2: rule__Wall__Group__4__Impl rule__Wall__Group__5
            {
            pushFollow(FOLLOW_rule__Wall__Group__4__Impl_in_rule__Wall__Group__45940);
            rule__Wall__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__5_in_rule__Wall__Group__45943);
            rule__Wall__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__4"


    // $ANTLR start "rule__Wall__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3002:1: rule__Wall__Group__4__Impl : ( ':' ) ;
    public final void rule__Wall__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3006:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3007:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3007:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3008:1: ':'
            {
             before(grammarAccess.getWallAccess().getColonKeyword_4()); 
            match(input,18,FOLLOW_18_in_rule__Wall__Group__4__Impl5971); 
             after(grammarAccess.getWallAccess().getColonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__4__Impl"


    // $ANTLR start "rule__Wall__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3021:1: rule__Wall__Group__5 : rule__Wall__Group__5__Impl rule__Wall__Group__6 ;
    public final void rule__Wall__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3025:1: ( rule__Wall__Group__5__Impl rule__Wall__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3026:2: rule__Wall__Group__5__Impl rule__Wall__Group__6
            {
            pushFollow(FOLLOW_rule__Wall__Group__5__Impl_in_rule__Wall__Group__56002);
            rule__Wall__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__6_in_rule__Wall__Group__56005);
            rule__Wall__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__5"


    // $ANTLR start "rule__Wall__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3033:1: rule__Wall__Group__5__Impl : ( ( rule__Wall__StartAssignment_5 ) ) ;
    public final void rule__Wall__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3037:1: ( ( ( rule__Wall__StartAssignment_5 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3038:1: ( ( rule__Wall__StartAssignment_5 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3038:1: ( ( rule__Wall__StartAssignment_5 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3039:1: ( rule__Wall__StartAssignment_5 )
            {
             before(grammarAccess.getWallAccess().getStartAssignment_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3040:1: ( rule__Wall__StartAssignment_5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3040:2: rule__Wall__StartAssignment_5
            {
            pushFollow(FOLLOW_rule__Wall__StartAssignment_5_in_rule__Wall__Group__5__Impl6032);
            rule__Wall__StartAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getWallAccess().getStartAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__5__Impl"


    // $ANTLR start "rule__Wall__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3050:1: rule__Wall__Group__6 : rule__Wall__Group__6__Impl rule__Wall__Group__7 ;
    public final void rule__Wall__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3054:1: ( rule__Wall__Group__6__Impl rule__Wall__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3055:2: rule__Wall__Group__6__Impl rule__Wall__Group__7
            {
            pushFollow(FOLLOW_rule__Wall__Group__6__Impl_in_rule__Wall__Group__66062);
            rule__Wall__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__7_in_rule__Wall__Group__66065);
            rule__Wall__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__6"


    // $ANTLR start "rule__Wall__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3062:1: rule__Wall__Group__6__Impl : ( ';' ) ;
    public final void rule__Wall__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3066:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3067:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3067:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3068:1: ';'
            {
             before(grammarAccess.getWallAccess().getSemicolonKeyword_6()); 
            match(input,16,FOLLOW_16_in_rule__Wall__Group__6__Impl6093); 
             after(grammarAccess.getWallAccess().getSemicolonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__6__Impl"


    // $ANTLR start "rule__Wall__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3081:1: rule__Wall__Group__7 : rule__Wall__Group__7__Impl rule__Wall__Group__8 ;
    public final void rule__Wall__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3085:1: ( rule__Wall__Group__7__Impl rule__Wall__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3086:2: rule__Wall__Group__7__Impl rule__Wall__Group__8
            {
            pushFollow(FOLLOW_rule__Wall__Group__7__Impl_in_rule__Wall__Group__76124);
            rule__Wall__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__8_in_rule__Wall__Group__76127);
            rule__Wall__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__7"


    // $ANTLR start "rule__Wall__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3093:1: rule__Wall__Group__7__Impl : ( 'end' ) ;
    public final void rule__Wall__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3097:1: ( ( 'end' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3098:1: ( 'end' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3098:1: ( 'end' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3099:1: 'end'
            {
             before(grammarAccess.getWallAccess().getEndKeyword_7()); 
            match(input,31,FOLLOW_31_in_rule__Wall__Group__7__Impl6155); 
             after(grammarAccess.getWallAccess().getEndKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__7__Impl"


    // $ANTLR start "rule__Wall__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3112:1: rule__Wall__Group__8 : rule__Wall__Group__8__Impl rule__Wall__Group__9 ;
    public final void rule__Wall__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3116:1: ( rule__Wall__Group__8__Impl rule__Wall__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3117:2: rule__Wall__Group__8__Impl rule__Wall__Group__9
            {
            pushFollow(FOLLOW_rule__Wall__Group__8__Impl_in_rule__Wall__Group__86186);
            rule__Wall__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__9_in_rule__Wall__Group__86189);
            rule__Wall__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__8"


    // $ANTLR start "rule__Wall__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3124:1: rule__Wall__Group__8__Impl : ( ':' ) ;
    public final void rule__Wall__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3128:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3129:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3129:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3130:1: ':'
            {
             before(grammarAccess.getWallAccess().getColonKeyword_8()); 
            match(input,18,FOLLOW_18_in_rule__Wall__Group__8__Impl6217); 
             after(grammarAccess.getWallAccess().getColonKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__8__Impl"


    // $ANTLR start "rule__Wall__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3143:1: rule__Wall__Group__9 : rule__Wall__Group__9__Impl rule__Wall__Group__10 ;
    public final void rule__Wall__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3147:1: ( rule__Wall__Group__9__Impl rule__Wall__Group__10 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3148:2: rule__Wall__Group__9__Impl rule__Wall__Group__10
            {
            pushFollow(FOLLOW_rule__Wall__Group__9__Impl_in_rule__Wall__Group__96248);
            rule__Wall__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__10_in_rule__Wall__Group__96251);
            rule__Wall__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__9"


    // $ANTLR start "rule__Wall__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3155:1: rule__Wall__Group__9__Impl : ( ( rule__Wall__EndAssignment_9 ) ) ;
    public final void rule__Wall__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3159:1: ( ( ( rule__Wall__EndAssignment_9 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3160:1: ( ( rule__Wall__EndAssignment_9 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3160:1: ( ( rule__Wall__EndAssignment_9 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3161:1: ( rule__Wall__EndAssignment_9 )
            {
             before(grammarAccess.getWallAccess().getEndAssignment_9()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3162:1: ( rule__Wall__EndAssignment_9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3162:2: rule__Wall__EndAssignment_9
            {
            pushFollow(FOLLOW_rule__Wall__EndAssignment_9_in_rule__Wall__Group__9__Impl6278);
            rule__Wall__EndAssignment_9();

            state._fsp--;


            }

             after(grammarAccess.getWallAccess().getEndAssignment_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__9__Impl"


    // $ANTLR start "rule__Wall__Group__10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3172:1: rule__Wall__Group__10 : rule__Wall__Group__10__Impl rule__Wall__Group__11 ;
    public final void rule__Wall__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3176:1: ( rule__Wall__Group__10__Impl rule__Wall__Group__11 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3177:2: rule__Wall__Group__10__Impl rule__Wall__Group__11
            {
            pushFollow(FOLLOW_rule__Wall__Group__10__Impl_in_rule__Wall__Group__106308);
            rule__Wall__Group__10__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__11_in_rule__Wall__Group__106311);
            rule__Wall__Group__11();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__10"


    // $ANTLR start "rule__Wall__Group__10__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3184:1: rule__Wall__Group__10__Impl : ( ';' ) ;
    public final void rule__Wall__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3188:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3189:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3189:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3190:1: ';'
            {
             before(grammarAccess.getWallAccess().getSemicolonKeyword_10()); 
            match(input,16,FOLLOW_16_in_rule__Wall__Group__10__Impl6339); 
             after(grammarAccess.getWallAccess().getSemicolonKeyword_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__10__Impl"


    // $ANTLR start "rule__Wall__Group__11"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3203:1: rule__Wall__Group__11 : rule__Wall__Group__11__Impl rule__Wall__Group__12 ;
    public final void rule__Wall__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3207:1: ( rule__Wall__Group__11__Impl rule__Wall__Group__12 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3208:2: rule__Wall__Group__11__Impl rule__Wall__Group__12
            {
            pushFollow(FOLLOW_rule__Wall__Group__11__Impl_in_rule__Wall__Group__116370);
            rule__Wall__Group__11__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__12_in_rule__Wall__Group__116373);
            rule__Wall__Group__12();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__11"


    // $ANTLR start "rule__Wall__Group__11__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3215:1: rule__Wall__Group__11__Impl : ( 'height' ) ;
    public final void rule__Wall__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3219:1: ( ( 'height' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3220:1: ( 'height' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3220:1: ( 'height' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3221:1: 'height'
            {
             before(grammarAccess.getWallAccess().getHeightKeyword_11()); 
            match(input,20,FOLLOW_20_in_rule__Wall__Group__11__Impl6401); 
             after(grammarAccess.getWallAccess().getHeightKeyword_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__11__Impl"


    // $ANTLR start "rule__Wall__Group__12"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3234:1: rule__Wall__Group__12 : rule__Wall__Group__12__Impl rule__Wall__Group__13 ;
    public final void rule__Wall__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3238:1: ( rule__Wall__Group__12__Impl rule__Wall__Group__13 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3239:2: rule__Wall__Group__12__Impl rule__Wall__Group__13
            {
            pushFollow(FOLLOW_rule__Wall__Group__12__Impl_in_rule__Wall__Group__126432);
            rule__Wall__Group__12__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__13_in_rule__Wall__Group__126435);
            rule__Wall__Group__13();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__12"


    // $ANTLR start "rule__Wall__Group__12__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3246:1: rule__Wall__Group__12__Impl : ( ':' ) ;
    public final void rule__Wall__Group__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3250:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3251:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3251:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3252:1: ':'
            {
             before(grammarAccess.getWallAccess().getColonKeyword_12()); 
            match(input,18,FOLLOW_18_in_rule__Wall__Group__12__Impl6463); 
             after(grammarAccess.getWallAccess().getColonKeyword_12()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__12__Impl"


    // $ANTLR start "rule__Wall__Group__13"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3265:1: rule__Wall__Group__13 : rule__Wall__Group__13__Impl rule__Wall__Group__14 ;
    public final void rule__Wall__Group__13() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3269:1: ( rule__Wall__Group__13__Impl rule__Wall__Group__14 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3270:2: rule__Wall__Group__13__Impl rule__Wall__Group__14
            {
            pushFollow(FOLLOW_rule__Wall__Group__13__Impl_in_rule__Wall__Group__136494);
            rule__Wall__Group__13__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__14_in_rule__Wall__Group__136497);
            rule__Wall__Group__14();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__13"


    // $ANTLR start "rule__Wall__Group__13__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3277:1: rule__Wall__Group__13__Impl : ( ( rule__Wall__HeightAssignment_13 ) ) ;
    public final void rule__Wall__Group__13__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3281:1: ( ( ( rule__Wall__HeightAssignment_13 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3282:1: ( ( rule__Wall__HeightAssignment_13 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3282:1: ( ( rule__Wall__HeightAssignment_13 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3283:1: ( rule__Wall__HeightAssignment_13 )
            {
             before(grammarAccess.getWallAccess().getHeightAssignment_13()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3284:1: ( rule__Wall__HeightAssignment_13 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3284:2: rule__Wall__HeightAssignment_13
            {
            pushFollow(FOLLOW_rule__Wall__HeightAssignment_13_in_rule__Wall__Group__13__Impl6524);
            rule__Wall__HeightAssignment_13();

            state._fsp--;


            }

             after(grammarAccess.getWallAccess().getHeightAssignment_13()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__13__Impl"


    // $ANTLR start "rule__Wall__Group__14"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3294:1: rule__Wall__Group__14 : rule__Wall__Group__14__Impl rule__Wall__Group__15 ;
    public final void rule__Wall__Group__14() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3298:1: ( rule__Wall__Group__14__Impl rule__Wall__Group__15 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3299:2: rule__Wall__Group__14__Impl rule__Wall__Group__15
            {
            pushFollow(FOLLOW_rule__Wall__Group__14__Impl_in_rule__Wall__Group__146554);
            rule__Wall__Group__14__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__15_in_rule__Wall__Group__146557);
            rule__Wall__Group__15();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__14"


    // $ANTLR start "rule__Wall__Group__14__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3306:1: rule__Wall__Group__14__Impl : ( ';' ) ;
    public final void rule__Wall__Group__14__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3310:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3311:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3311:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3312:1: ';'
            {
             before(grammarAccess.getWallAccess().getSemicolonKeyword_14()); 
            match(input,16,FOLLOW_16_in_rule__Wall__Group__14__Impl6585); 
             after(grammarAccess.getWallAccess().getSemicolonKeyword_14()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__14__Impl"


    // $ANTLR start "rule__Wall__Group__15"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3325:1: rule__Wall__Group__15 : rule__Wall__Group__15__Impl rule__Wall__Group__16 ;
    public final void rule__Wall__Group__15() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3329:1: ( rule__Wall__Group__15__Impl rule__Wall__Group__16 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3330:2: rule__Wall__Group__15__Impl rule__Wall__Group__16
            {
            pushFollow(FOLLOW_rule__Wall__Group__15__Impl_in_rule__Wall__Group__156616);
            rule__Wall__Group__15__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__16_in_rule__Wall__Group__156619);
            rule__Wall__Group__16();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__15"


    // $ANTLR start "rule__Wall__Group__15__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3337:1: rule__Wall__Group__15__Impl : ( 'texture' ) ;
    public final void rule__Wall__Group__15__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3341:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3342:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3342:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3343:1: 'texture'
            {
             before(grammarAccess.getWallAccess().getTextureKeyword_15()); 
            match(input,21,FOLLOW_21_in_rule__Wall__Group__15__Impl6647); 
             after(grammarAccess.getWallAccess().getTextureKeyword_15()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__15__Impl"


    // $ANTLR start "rule__Wall__Group__16"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3356:1: rule__Wall__Group__16 : rule__Wall__Group__16__Impl rule__Wall__Group__17 ;
    public final void rule__Wall__Group__16() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3360:1: ( rule__Wall__Group__16__Impl rule__Wall__Group__17 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3361:2: rule__Wall__Group__16__Impl rule__Wall__Group__17
            {
            pushFollow(FOLLOW_rule__Wall__Group__16__Impl_in_rule__Wall__Group__166678);
            rule__Wall__Group__16__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__17_in_rule__Wall__Group__166681);
            rule__Wall__Group__17();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__16"


    // $ANTLR start "rule__Wall__Group__16__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3368:1: rule__Wall__Group__16__Impl : ( ':' ) ;
    public final void rule__Wall__Group__16__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3372:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3373:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3373:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3374:1: ':'
            {
             before(grammarAccess.getWallAccess().getColonKeyword_16()); 
            match(input,18,FOLLOW_18_in_rule__Wall__Group__16__Impl6709); 
             after(grammarAccess.getWallAccess().getColonKeyword_16()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__16__Impl"


    // $ANTLR start "rule__Wall__Group__17"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3387:1: rule__Wall__Group__17 : rule__Wall__Group__17__Impl rule__Wall__Group__18 ;
    public final void rule__Wall__Group__17() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3391:1: ( rule__Wall__Group__17__Impl rule__Wall__Group__18 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3392:2: rule__Wall__Group__17__Impl rule__Wall__Group__18
            {
            pushFollow(FOLLOW_rule__Wall__Group__17__Impl_in_rule__Wall__Group__176740);
            rule__Wall__Group__17__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__18_in_rule__Wall__Group__176743);
            rule__Wall__Group__18();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__17"


    // $ANTLR start "rule__Wall__Group__17__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3399:1: rule__Wall__Group__17__Impl : ( ( rule__Wall__TextureAssignment_17 ) ) ;
    public final void rule__Wall__Group__17__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3403:1: ( ( ( rule__Wall__TextureAssignment_17 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3404:1: ( ( rule__Wall__TextureAssignment_17 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3404:1: ( ( rule__Wall__TextureAssignment_17 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3405:1: ( rule__Wall__TextureAssignment_17 )
            {
             before(grammarAccess.getWallAccess().getTextureAssignment_17()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3406:1: ( rule__Wall__TextureAssignment_17 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3406:2: rule__Wall__TextureAssignment_17
            {
            pushFollow(FOLLOW_rule__Wall__TextureAssignment_17_in_rule__Wall__Group__17__Impl6770);
            rule__Wall__TextureAssignment_17();

            state._fsp--;


            }

             after(grammarAccess.getWallAccess().getTextureAssignment_17()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__17__Impl"


    // $ANTLR start "rule__Wall__Group__18"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3416:1: rule__Wall__Group__18 : rule__Wall__Group__18__Impl rule__Wall__Group__19 ;
    public final void rule__Wall__Group__18() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3420:1: ( rule__Wall__Group__18__Impl rule__Wall__Group__19 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3421:2: rule__Wall__Group__18__Impl rule__Wall__Group__19
            {
            pushFollow(FOLLOW_rule__Wall__Group__18__Impl_in_rule__Wall__Group__186800);
            rule__Wall__Group__18__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__19_in_rule__Wall__Group__186803);
            rule__Wall__Group__19();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__18"


    // $ANTLR start "rule__Wall__Group__18__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3428:1: rule__Wall__Group__18__Impl : ( ';' ) ;
    public final void rule__Wall__Group__18__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3432:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3433:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3433:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3434:1: ';'
            {
             before(grammarAccess.getWallAccess().getSemicolonKeyword_18()); 
            match(input,16,FOLLOW_16_in_rule__Wall__Group__18__Impl6831); 
             after(grammarAccess.getWallAccess().getSemicolonKeyword_18()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__18__Impl"


    // $ANTLR start "rule__Wall__Group__19"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3447:1: rule__Wall__Group__19 : rule__Wall__Group__19__Impl rule__Wall__Group__20 ;
    public final void rule__Wall__Group__19() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3451:1: ( rule__Wall__Group__19__Impl rule__Wall__Group__20 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3452:2: rule__Wall__Group__19__Impl rule__Wall__Group__20
            {
            pushFollow(FOLLOW_rule__Wall__Group__19__Impl_in_rule__Wall__Group__196862);
            rule__Wall__Group__19__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__20_in_rule__Wall__Group__196865);
            rule__Wall__Group__20();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__19"


    // $ANTLR start "rule__Wall__Group__19__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3459:1: rule__Wall__Group__19__Impl : ( ( rule__Wall__DoorAssignment_19 )? ) ;
    public final void rule__Wall__Group__19__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3463:1: ( ( ( rule__Wall__DoorAssignment_19 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3464:1: ( ( rule__Wall__DoorAssignment_19 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3464:1: ( ( rule__Wall__DoorAssignment_19 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3465:1: ( rule__Wall__DoorAssignment_19 )?
            {
             before(grammarAccess.getWallAccess().getDoorAssignment_19()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3466:1: ( rule__Wall__DoorAssignment_19 )?
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==35) ) {
                alt18=1;
            }
            switch (alt18) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3466:2: rule__Wall__DoorAssignment_19
                    {
                    pushFollow(FOLLOW_rule__Wall__DoorAssignment_19_in_rule__Wall__Group__19__Impl6892);
                    rule__Wall__DoorAssignment_19();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWallAccess().getDoorAssignment_19()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__19__Impl"


    // $ANTLR start "rule__Wall__Group__20"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3476:1: rule__Wall__Group__20 : rule__Wall__Group__20__Impl rule__Wall__Group__21 ;
    public final void rule__Wall__Group__20() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3480:1: ( rule__Wall__Group__20__Impl rule__Wall__Group__21 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3481:2: rule__Wall__Group__20__Impl rule__Wall__Group__21
            {
            pushFollow(FOLLOW_rule__Wall__Group__20__Impl_in_rule__Wall__Group__206923);
            rule__Wall__Group__20__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Wall__Group__21_in_rule__Wall__Group__206926);
            rule__Wall__Group__21();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__20"


    // $ANTLR start "rule__Wall__Group__20__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3488:1: rule__Wall__Group__20__Impl : ( ( rule__Wall__WindowsAssignment_20 )* ) ;
    public final void rule__Wall__Group__20__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3492:1: ( ( ( rule__Wall__WindowsAssignment_20 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3493:1: ( ( rule__Wall__WindowsAssignment_20 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3493:1: ( ( rule__Wall__WindowsAssignment_20 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3494:1: ( rule__Wall__WindowsAssignment_20 )*
            {
             before(grammarAccess.getWallAccess().getWindowsAssignment_20()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3495:1: ( rule__Wall__WindowsAssignment_20 )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==37) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3495:2: rule__Wall__WindowsAssignment_20
            	    {
            	    pushFollow(FOLLOW_rule__Wall__WindowsAssignment_20_in_rule__Wall__Group__20__Impl6953);
            	    rule__Wall__WindowsAssignment_20();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);

             after(grammarAccess.getWallAccess().getWindowsAssignment_20()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__20__Impl"


    // $ANTLR start "rule__Wall__Group__21"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3505:1: rule__Wall__Group__21 : rule__Wall__Group__21__Impl ;
    public final void rule__Wall__Group__21() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3509:1: ( rule__Wall__Group__21__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3510:2: rule__Wall__Group__21__Impl
            {
            pushFollow(FOLLOW_rule__Wall__Group__21__Impl_in_rule__Wall__Group__216984);
            rule__Wall__Group__21__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__21"


    // $ANTLR start "rule__Wall__Group__21__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3516:1: rule__Wall__Group__21__Impl : ( '}' ) ;
    public final void rule__Wall__Group__21__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3520:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3521:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3521:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3522:1: '}'
            {
             before(grammarAccess.getWallAccess().getRightCurlyBracketKeyword_21()); 
            match(input,13,FOLLOW_13_in_rule__Wall__Group__21__Impl7012); 
             after(grammarAccess.getWallAccess().getRightCurlyBracketKeyword_21()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__Group__21__Impl"


    // $ANTLR start "rule__Point__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3579:1: rule__Point__Group__0 : rule__Point__Group__0__Impl rule__Point__Group__1 ;
    public final void rule__Point__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3583:1: ( rule__Point__Group__0__Impl rule__Point__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3584:2: rule__Point__Group__0__Impl rule__Point__Group__1
            {
            pushFollow(FOLLOW_rule__Point__Group__0__Impl_in_rule__Point__Group__07087);
            rule__Point__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Point__Group__1_in_rule__Point__Group__07090);
            rule__Point__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__0"


    // $ANTLR start "rule__Point__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3591:1: rule__Point__Group__0__Impl : ( 'point' ) ;
    public final void rule__Point__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3595:1: ( ( 'point' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3596:1: ( 'point' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3596:1: ( 'point' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3597:1: 'point'
            {
             before(grammarAccess.getPointAccess().getPointKeyword_0()); 
            match(input,32,FOLLOW_32_in_rule__Point__Group__0__Impl7118); 
             after(grammarAccess.getPointAccess().getPointKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__0__Impl"


    // $ANTLR start "rule__Point__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3610:1: rule__Point__Group__1 : rule__Point__Group__1__Impl rule__Point__Group__2 ;
    public final void rule__Point__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3614:1: ( rule__Point__Group__1__Impl rule__Point__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3615:2: rule__Point__Group__1__Impl rule__Point__Group__2
            {
            pushFollow(FOLLOW_rule__Point__Group__1__Impl_in_rule__Point__Group__17149);
            rule__Point__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Point__Group__2_in_rule__Point__Group__17152);
            rule__Point__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__1"


    // $ANTLR start "rule__Point__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3622:1: rule__Point__Group__1__Impl : ( '(' ) ;
    public final void rule__Point__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3626:1: ( ( '(' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3627:1: ( '(' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3627:1: ( '(' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3628:1: '('
            {
             before(grammarAccess.getPointAccess().getLeftParenthesisKeyword_1()); 
            match(input,25,FOLLOW_25_in_rule__Point__Group__1__Impl7180); 
             after(grammarAccess.getPointAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__1__Impl"


    // $ANTLR start "rule__Point__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3641:1: rule__Point__Group__2 : rule__Point__Group__2__Impl rule__Point__Group__3 ;
    public final void rule__Point__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3645:1: ( rule__Point__Group__2__Impl rule__Point__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3646:2: rule__Point__Group__2__Impl rule__Point__Group__3
            {
            pushFollow(FOLLOW_rule__Point__Group__2__Impl_in_rule__Point__Group__27211);
            rule__Point__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Point__Group__3_in_rule__Point__Group__27214);
            rule__Point__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__2"


    // $ANTLR start "rule__Point__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3653:1: rule__Point__Group__2__Impl : ( ( rule__Point__XCordAssignment_2 ) ) ;
    public final void rule__Point__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3657:1: ( ( ( rule__Point__XCordAssignment_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3658:1: ( ( rule__Point__XCordAssignment_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3658:1: ( ( rule__Point__XCordAssignment_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3659:1: ( rule__Point__XCordAssignment_2 )
            {
             before(grammarAccess.getPointAccess().getXCordAssignment_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3660:1: ( rule__Point__XCordAssignment_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3660:2: rule__Point__XCordAssignment_2
            {
            pushFollow(FOLLOW_rule__Point__XCordAssignment_2_in_rule__Point__Group__2__Impl7241);
            rule__Point__XCordAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getPointAccess().getXCordAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__2__Impl"


    // $ANTLR start "rule__Point__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3670:1: rule__Point__Group__3 : rule__Point__Group__3__Impl rule__Point__Group__4 ;
    public final void rule__Point__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3674:1: ( rule__Point__Group__3__Impl rule__Point__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3675:2: rule__Point__Group__3__Impl rule__Point__Group__4
            {
            pushFollow(FOLLOW_rule__Point__Group__3__Impl_in_rule__Point__Group__37271);
            rule__Point__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Point__Group__4_in_rule__Point__Group__37274);
            rule__Point__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__3"


    // $ANTLR start "rule__Point__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3682:1: rule__Point__Group__3__Impl : ( ',' ) ;
    public final void rule__Point__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3686:1: ( ( ',' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3687:1: ( ',' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3687:1: ( ',' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3688:1: ','
            {
             before(grammarAccess.getPointAccess().getCommaKeyword_3()); 
            match(input,26,FOLLOW_26_in_rule__Point__Group__3__Impl7302); 
             after(grammarAccess.getPointAccess().getCommaKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__3__Impl"


    // $ANTLR start "rule__Point__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3701:1: rule__Point__Group__4 : rule__Point__Group__4__Impl rule__Point__Group__5 ;
    public final void rule__Point__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3705:1: ( rule__Point__Group__4__Impl rule__Point__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3706:2: rule__Point__Group__4__Impl rule__Point__Group__5
            {
            pushFollow(FOLLOW_rule__Point__Group__4__Impl_in_rule__Point__Group__47333);
            rule__Point__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Point__Group__5_in_rule__Point__Group__47336);
            rule__Point__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__4"


    // $ANTLR start "rule__Point__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3713:1: rule__Point__Group__4__Impl : ( ( rule__Point__YCordAssignment_4 ) ) ;
    public final void rule__Point__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3717:1: ( ( ( rule__Point__YCordAssignment_4 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3718:1: ( ( rule__Point__YCordAssignment_4 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3718:1: ( ( rule__Point__YCordAssignment_4 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3719:1: ( rule__Point__YCordAssignment_4 )
            {
             before(grammarAccess.getPointAccess().getYCordAssignment_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3720:1: ( rule__Point__YCordAssignment_4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3720:2: rule__Point__YCordAssignment_4
            {
            pushFollow(FOLLOW_rule__Point__YCordAssignment_4_in_rule__Point__Group__4__Impl7363);
            rule__Point__YCordAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getPointAccess().getYCordAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__4__Impl"


    // $ANTLR start "rule__Point__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3730:1: rule__Point__Group__5 : rule__Point__Group__5__Impl ;
    public final void rule__Point__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3734:1: ( rule__Point__Group__5__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3735:2: rule__Point__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Point__Group__5__Impl_in_rule__Point__Group__57393);
            rule__Point__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__5"


    // $ANTLR start "rule__Point__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3741:1: rule__Point__Group__5__Impl : ( ')' ) ;
    public final void rule__Point__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3745:1: ( ( ')' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3746:1: ( ')' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3746:1: ( ')' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3747:1: ')'
            {
             before(grammarAccess.getPointAccess().getRightParenthesisKeyword_5()); 
            match(input,27,FOLLOW_27_in_rule__Point__Group__5__Impl7421); 
             after(grammarAccess.getPointAccess().getRightParenthesisKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__Group__5__Impl"


    // $ANTLR start "rule__Roof__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3772:1: rule__Roof__Group__0 : rule__Roof__Group__0__Impl rule__Roof__Group__1 ;
    public final void rule__Roof__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3776:1: ( rule__Roof__Group__0__Impl rule__Roof__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3777:2: rule__Roof__Group__0__Impl rule__Roof__Group__1
            {
            pushFollow(FOLLOW_rule__Roof__Group__0__Impl_in_rule__Roof__Group__07464);
            rule__Roof__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group__1_in_rule__Roof__Group__07467);
            rule__Roof__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__0"


    // $ANTLR start "rule__Roof__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3784:1: rule__Roof__Group__0__Impl : ( 'roof' ) ;
    public final void rule__Roof__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3788:1: ( ( 'roof' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3789:1: ( 'roof' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3789:1: ( 'roof' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3790:1: 'roof'
            {
             before(grammarAccess.getRoofAccess().getRoofKeyword_0()); 
            match(input,33,FOLLOW_33_in_rule__Roof__Group__0__Impl7495); 
             after(grammarAccess.getRoofAccess().getRoofKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__0__Impl"


    // $ANTLR start "rule__Roof__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3803:1: rule__Roof__Group__1 : rule__Roof__Group__1__Impl rule__Roof__Group__2 ;
    public final void rule__Roof__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3807:1: ( rule__Roof__Group__1__Impl rule__Roof__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3808:2: rule__Roof__Group__1__Impl rule__Roof__Group__2
            {
            pushFollow(FOLLOW_rule__Roof__Group__1__Impl_in_rule__Roof__Group__17526);
            rule__Roof__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group__2_in_rule__Roof__Group__17529);
            rule__Roof__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__1"


    // $ANTLR start "rule__Roof__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3815:1: rule__Roof__Group__1__Impl : ( ( rule__Roof__NameAssignment_1 ) ) ;
    public final void rule__Roof__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3819:1: ( ( ( rule__Roof__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3820:1: ( ( rule__Roof__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3820:1: ( ( rule__Roof__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3821:1: ( rule__Roof__NameAssignment_1 )
            {
             before(grammarAccess.getRoofAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3822:1: ( rule__Roof__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3822:2: rule__Roof__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Roof__NameAssignment_1_in_rule__Roof__Group__1__Impl7556);
            rule__Roof__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRoofAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__1__Impl"


    // $ANTLR start "rule__Roof__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3832:1: rule__Roof__Group__2 : rule__Roof__Group__2__Impl rule__Roof__Group__3 ;
    public final void rule__Roof__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3836:1: ( rule__Roof__Group__2__Impl rule__Roof__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3837:2: rule__Roof__Group__2__Impl rule__Roof__Group__3
            {
            pushFollow(FOLLOW_rule__Roof__Group__2__Impl_in_rule__Roof__Group__27586);
            rule__Roof__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group__3_in_rule__Roof__Group__27589);
            rule__Roof__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__2"


    // $ANTLR start "rule__Roof__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3844:1: rule__Roof__Group__2__Impl : ( '{' ) ;
    public final void rule__Roof__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3848:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3849:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3849:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3850:1: '{'
            {
             before(grammarAccess.getRoofAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Roof__Group__2__Impl7617); 
             after(grammarAccess.getRoofAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__2__Impl"


    // $ANTLR start "rule__Roof__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3863:1: rule__Roof__Group__3 : rule__Roof__Group__3__Impl rule__Roof__Group__4 ;
    public final void rule__Roof__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3867:1: ( rule__Roof__Group__3__Impl rule__Roof__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3868:2: rule__Roof__Group__3__Impl rule__Roof__Group__4
            {
            pushFollow(FOLLOW_rule__Roof__Group__3__Impl_in_rule__Roof__Group__37648);
            rule__Roof__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group__4_in_rule__Roof__Group__37651);
            rule__Roof__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__3"


    // $ANTLR start "rule__Roof__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3875:1: rule__Roof__Group__3__Impl : ( ( rule__Roof__Group_3__0 )? ) ;
    public final void rule__Roof__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3879:1: ( ( ( rule__Roof__Group_3__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3880:1: ( ( rule__Roof__Group_3__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3880:1: ( ( rule__Roof__Group_3__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3881:1: ( rule__Roof__Group_3__0 )?
            {
             before(grammarAccess.getRoofAccess().getGroup_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3882:1: ( rule__Roof__Group_3__0 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==34) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3882:2: rule__Roof__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Roof__Group_3__0_in_rule__Roof__Group__3__Impl7678);
                    rule__Roof__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRoofAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__3__Impl"


    // $ANTLR start "rule__Roof__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3892:1: rule__Roof__Group__4 : rule__Roof__Group__4__Impl rule__Roof__Group__5 ;
    public final void rule__Roof__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3896:1: ( rule__Roof__Group__4__Impl rule__Roof__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3897:2: rule__Roof__Group__4__Impl rule__Roof__Group__5
            {
            pushFollow(FOLLOW_rule__Roof__Group__4__Impl_in_rule__Roof__Group__47709);
            rule__Roof__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group__5_in_rule__Roof__Group__47712);
            rule__Roof__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__4"


    // $ANTLR start "rule__Roof__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3904:1: rule__Roof__Group__4__Impl : ( ( rule__Roof__Group_4__0 )? ) ;
    public final void rule__Roof__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3908:1: ( ( ( rule__Roof__Group_4__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3909:1: ( ( rule__Roof__Group_4__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3909:1: ( ( rule__Roof__Group_4__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3910:1: ( rule__Roof__Group_4__0 )?
            {
             before(grammarAccess.getRoofAccess().getGroup_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3911:1: ( rule__Roof__Group_4__0 )?
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==21) ) {
                alt21=1;
            }
            switch (alt21) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3911:2: rule__Roof__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__Roof__Group_4__0_in_rule__Roof__Group__4__Impl7739);
                    rule__Roof__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRoofAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__4__Impl"


    // $ANTLR start "rule__Roof__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3921:1: rule__Roof__Group__5 : rule__Roof__Group__5__Impl ;
    public final void rule__Roof__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3925:1: ( rule__Roof__Group__5__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3926:2: rule__Roof__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Roof__Group__5__Impl_in_rule__Roof__Group__57770);
            rule__Roof__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__5"


    // $ANTLR start "rule__Roof__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3932:1: rule__Roof__Group__5__Impl : ( '}' ) ;
    public final void rule__Roof__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3936:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3937:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3937:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3938:1: '}'
            {
             before(grammarAccess.getRoofAccess().getRightCurlyBracketKeyword_5()); 
            match(input,13,FOLLOW_13_in_rule__Roof__Group__5__Impl7798); 
             after(grammarAccess.getRoofAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group__5__Impl"


    // $ANTLR start "rule__Roof__Group_3__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3963:1: rule__Roof__Group_3__0 : rule__Roof__Group_3__0__Impl rule__Roof__Group_3__1 ;
    public final void rule__Roof__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3967:1: ( rule__Roof__Group_3__0__Impl rule__Roof__Group_3__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3968:2: rule__Roof__Group_3__0__Impl rule__Roof__Group_3__1
            {
            pushFollow(FOLLOW_rule__Roof__Group_3__0__Impl_in_rule__Roof__Group_3__07841);
            rule__Roof__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group_3__1_in_rule__Roof__Group_3__07844);
            rule__Roof__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__0"


    // $ANTLR start "rule__Roof__Group_3__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3975:1: rule__Roof__Group_3__0__Impl : ( 'elevation' ) ;
    public final void rule__Roof__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3979:1: ( ( 'elevation' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3980:1: ( 'elevation' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3980:1: ( 'elevation' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3981:1: 'elevation'
            {
             before(grammarAccess.getRoofAccess().getElevationKeyword_3_0()); 
            match(input,34,FOLLOW_34_in_rule__Roof__Group_3__0__Impl7872); 
             after(grammarAccess.getRoofAccess().getElevationKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__0__Impl"


    // $ANTLR start "rule__Roof__Group_3__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3994:1: rule__Roof__Group_3__1 : rule__Roof__Group_3__1__Impl rule__Roof__Group_3__2 ;
    public final void rule__Roof__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3998:1: ( rule__Roof__Group_3__1__Impl rule__Roof__Group_3__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3999:2: rule__Roof__Group_3__1__Impl rule__Roof__Group_3__2
            {
            pushFollow(FOLLOW_rule__Roof__Group_3__1__Impl_in_rule__Roof__Group_3__17903);
            rule__Roof__Group_3__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group_3__2_in_rule__Roof__Group_3__17906);
            rule__Roof__Group_3__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__1"


    // $ANTLR start "rule__Roof__Group_3__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4006:1: rule__Roof__Group_3__1__Impl : ( ':' ) ;
    public final void rule__Roof__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4010:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4011:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4011:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4012:1: ':'
            {
             before(grammarAccess.getRoofAccess().getColonKeyword_3_1()); 
            match(input,18,FOLLOW_18_in_rule__Roof__Group_3__1__Impl7934); 
             after(grammarAccess.getRoofAccess().getColonKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__1__Impl"


    // $ANTLR start "rule__Roof__Group_3__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4025:1: rule__Roof__Group_3__2 : rule__Roof__Group_3__2__Impl rule__Roof__Group_3__3 ;
    public final void rule__Roof__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4029:1: ( rule__Roof__Group_3__2__Impl rule__Roof__Group_3__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4030:2: rule__Roof__Group_3__2__Impl rule__Roof__Group_3__3
            {
            pushFollow(FOLLOW_rule__Roof__Group_3__2__Impl_in_rule__Roof__Group_3__27965);
            rule__Roof__Group_3__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group_3__3_in_rule__Roof__Group_3__27968);
            rule__Roof__Group_3__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__2"


    // $ANTLR start "rule__Roof__Group_3__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4037:1: rule__Roof__Group_3__2__Impl : ( ( rule__Roof__ElevationAssignment_3_2 ) ) ;
    public final void rule__Roof__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4041:1: ( ( ( rule__Roof__ElevationAssignment_3_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4042:1: ( ( rule__Roof__ElevationAssignment_3_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4042:1: ( ( rule__Roof__ElevationAssignment_3_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4043:1: ( rule__Roof__ElevationAssignment_3_2 )
            {
             before(grammarAccess.getRoofAccess().getElevationAssignment_3_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4044:1: ( rule__Roof__ElevationAssignment_3_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4044:2: rule__Roof__ElevationAssignment_3_2
            {
            pushFollow(FOLLOW_rule__Roof__ElevationAssignment_3_2_in_rule__Roof__Group_3__2__Impl7995);
            rule__Roof__ElevationAssignment_3_2();

            state._fsp--;


            }

             after(grammarAccess.getRoofAccess().getElevationAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__2__Impl"


    // $ANTLR start "rule__Roof__Group_3__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4054:1: rule__Roof__Group_3__3 : rule__Roof__Group_3__3__Impl ;
    public final void rule__Roof__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4058:1: ( rule__Roof__Group_3__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4059:2: rule__Roof__Group_3__3__Impl
            {
            pushFollow(FOLLOW_rule__Roof__Group_3__3__Impl_in_rule__Roof__Group_3__38025);
            rule__Roof__Group_3__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__3"


    // $ANTLR start "rule__Roof__Group_3__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4065:1: rule__Roof__Group_3__3__Impl : ( ';' ) ;
    public final void rule__Roof__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4069:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4070:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4070:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4071:1: ';'
            {
             before(grammarAccess.getRoofAccess().getSemicolonKeyword_3_3()); 
            match(input,16,FOLLOW_16_in_rule__Roof__Group_3__3__Impl8053); 
             after(grammarAccess.getRoofAccess().getSemicolonKeyword_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_3__3__Impl"


    // $ANTLR start "rule__Roof__Group_4__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4092:1: rule__Roof__Group_4__0 : rule__Roof__Group_4__0__Impl rule__Roof__Group_4__1 ;
    public final void rule__Roof__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4096:1: ( rule__Roof__Group_4__0__Impl rule__Roof__Group_4__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4097:2: rule__Roof__Group_4__0__Impl rule__Roof__Group_4__1
            {
            pushFollow(FOLLOW_rule__Roof__Group_4__0__Impl_in_rule__Roof__Group_4__08092);
            rule__Roof__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group_4__1_in_rule__Roof__Group_4__08095);
            rule__Roof__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__0"


    // $ANTLR start "rule__Roof__Group_4__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4104:1: rule__Roof__Group_4__0__Impl : ( 'texture' ) ;
    public final void rule__Roof__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4108:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4109:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4109:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4110:1: 'texture'
            {
             before(grammarAccess.getRoofAccess().getTextureKeyword_4_0()); 
            match(input,21,FOLLOW_21_in_rule__Roof__Group_4__0__Impl8123); 
             after(grammarAccess.getRoofAccess().getTextureKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__0__Impl"


    // $ANTLR start "rule__Roof__Group_4__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4123:1: rule__Roof__Group_4__1 : rule__Roof__Group_4__1__Impl rule__Roof__Group_4__2 ;
    public final void rule__Roof__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4127:1: ( rule__Roof__Group_4__1__Impl rule__Roof__Group_4__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4128:2: rule__Roof__Group_4__1__Impl rule__Roof__Group_4__2
            {
            pushFollow(FOLLOW_rule__Roof__Group_4__1__Impl_in_rule__Roof__Group_4__18154);
            rule__Roof__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group_4__2_in_rule__Roof__Group_4__18157);
            rule__Roof__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__1"


    // $ANTLR start "rule__Roof__Group_4__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4135:1: rule__Roof__Group_4__1__Impl : ( ':' ) ;
    public final void rule__Roof__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4139:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4140:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4140:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4141:1: ':'
            {
             before(grammarAccess.getRoofAccess().getColonKeyword_4_1()); 
            match(input,18,FOLLOW_18_in_rule__Roof__Group_4__1__Impl8185); 
             after(grammarAccess.getRoofAccess().getColonKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__1__Impl"


    // $ANTLR start "rule__Roof__Group_4__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4154:1: rule__Roof__Group_4__2 : rule__Roof__Group_4__2__Impl rule__Roof__Group_4__3 ;
    public final void rule__Roof__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4158:1: ( rule__Roof__Group_4__2__Impl rule__Roof__Group_4__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4159:2: rule__Roof__Group_4__2__Impl rule__Roof__Group_4__3
            {
            pushFollow(FOLLOW_rule__Roof__Group_4__2__Impl_in_rule__Roof__Group_4__28216);
            rule__Roof__Group_4__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Roof__Group_4__3_in_rule__Roof__Group_4__28219);
            rule__Roof__Group_4__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__2"


    // $ANTLR start "rule__Roof__Group_4__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4166:1: rule__Roof__Group_4__2__Impl : ( ( rule__Roof__TextureAssignment_4_2 ) ) ;
    public final void rule__Roof__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4170:1: ( ( ( rule__Roof__TextureAssignment_4_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4171:1: ( ( rule__Roof__TextureAssignment_4_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4171:1: ( ( rule__Roof__TextureAssignment_4_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4172:1: ( rule__Roof__TextureAssignment_4_2 )
            {
             before(grammarAccess.getRoofAccess().getTextureAssignment_4_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4173:1: ( rule__Roof__TextureAssignment_4_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4173:2: rule__Roof__TextureAssignment_4_2
            {
            pushFollow(FOLLOW_rule__Roof__TextureAssignment_4_2_in_rule__Roof__Group_4__2__Impl8246);
            rule__Roof__TextureAssignment_4_2();

            state._fsp--;


            }

             after(grammarAccess.getRoofAccess().getTextureAssignment_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__2__Impl"


    // $ANTLR start "rule__Roof__Group_4__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4183:1: rule__Roof__Group_4__3 : rule__Roof__Group_4__3__Impl ;
    public final void rule__Roof__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4187:1: ( rule__Roof__Group_4__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4188:2: rule__Roof__Group_4__3__Impl
            {
            pushFollow(FOLLOW_rule__Roof__Group_4__3__Impl_in_rule__Roof__Group_4__38276);
            rule__Roof__Group_4__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__3"


    // $ANTLR start "rule__Roof__Group_4__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4194:1: rule__Roof__Group_4__3__Impl : ( ';' ) ;
    public final void rule__Roof__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4198:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4199:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4199:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4200:1: ';'
            {
             before(grammarAccess.getRoofAccess().getSemicolonKeyword_4_3()); 
            match(input,16,FOLLOW_16_in_rule__Roof__Group_4__3__Impl8304); 
             after(grammarAccess.getRoofAccess().getSemicolonKeyword_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__Group_4__3__Impl"


    // $ANTLR start "rule__Door__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4221:1: rule__Door__Group__0 : rule__Door__Group__0__Impl rule__Door__Group__1 ;
    public final void rule__Door__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4225:1: ( rule__Door__Group__0__Impl rule__Door__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4226:2: rule__Door__Group__0__Impl rule__Door__Group__1
            {
            pushFollow(FOLLOW_rule__Door__Group__0__Impl_in_rule__Door__Group__08343);
            rule__Door__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__1_in_rule__Door__Group__08346);
            rule__Door__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__0"


    // $ANTLR start "rule__Door__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4233:1: rule__Door__Group__0__Impl : ( 'door' ) ;
    public final void rule__Door__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4237:1: ( ( 'door' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4238:1: ( 'door' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4238:1: ( 'door' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4239:1: 'door'
            {
             before(grammarAccess.getDoorAccess().getDoorKeyword_0()); 
            match(input,35,FOLLOW_35_in_rule__Door__Group__0__Impl8374); 
             after(grammarAccess.getDoorAccess().getDoorKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__0__Impl"


    // $ANTLR start "rule__Door__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4252:1: rule__Door__Group__1 : rule__Door__Group__1__Impl rule__Door__Group__2 ;
    public final void rule__Door__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4256:1: ( rule__Door__Group__1__Impl rule__Door__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4257:2: rule__Door__Group__1__Impl rule__Door__Group__2
            {
            pushFollow(FOLLOW_rule__Door__Group__1__Impl_in_rule__Door__Group__18405);
            rule__Door__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__2_in_rule__Door__Group__18408);
            rule__Door__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__1"


    // $ANTLR start "rule__Door__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4264:1: rule__Door__Group__1__Impl : ( ( rule__Door__NameAssignment_1 ) ) ;
    public final void rule__Door__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4268:1: ( ( ( rule__Door__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4269:1: ( ( rule__Door__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4269:1: ( ( rule__Door__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4270:1: ( rule__Door__NameAssignment_1 )
            {
             before(grammarAccess.getDoorAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4271:1: ( rule__Door__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4271:2: rule__Door__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Door__NameAssignment_1_in_rule__Door__Group__1__Impl8435);
            rule__Door__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__1__Impl"


    // $ANTLR start "rule__Door__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4281:1: rule__Door__Group__2 : rule__Door__Group__2__Impl rule__Door__Group__3 ;
    public final void rule__Door__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4285:1: ( rule__Door__Group__2__Impl rule__Door__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4286:2: rule__Door__Group__2__Impl rule__Door__Group__3
            {
            pushFollow(FOLLOW_rule__Door__Group__2__Impl_in_rule__Door__Group__28465);
            rule__Door__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__3_in_rule__Door__Group__28468);
            rule__Door__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__2"


    // $ANTLR start "rule__Door__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4293:1: rule__Door__Group__2__Impl : ( '{' ) ;
    public final void rule__Door__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4297:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4298:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4298:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4299:1: '{'
            {
             before(grammarAccess.getDoorAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Door__Group__2__Impl8496); 
             after(grammarAccess.getDoorAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__2__Impl"


    // $ANTLR start "rule__Door__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4312:1: rule__Door__Group__3 : rule__Door__Group__3__Impl rule__Door__Group__4 ;
    public final void rule__Door__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4316:1: ( rule__Door__Group__3__Impl rule__Door__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4317:2: rule__Door__Group__3__Impl rule__Door__Group__4
            {
            pushFollow(FOLLOW_rule__Door__Group__3__Impl_in_rule__Door__Group__38527);
            rule__Door__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__4_in_rule__Door__Group__38530);
            rule__Door__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__3"


    // $ANTLR start "rule__Door__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4324:1: rule__Door__Group__3__Impl : ( ( rule__Door__Group_3__0 )? ) ;
    public final void rule__Door__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4328:1: ( ( ( rule__Door__Group_3__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4329:1: ( ( rule__Door__Group_3__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4329:1: ( ( rule__Door__Group_3__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4330:1: ( rule__Door__Group_3__0 )?
            {
             before(grammarAccess.getDoorAccess().getGroup_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4331:1: ( rule__Door__Group_3__0 )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==24) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4331:2: rule__Door__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Door__Group_3__0_in_rule__Door__Group__3__Impl8557);
                    rule__Door__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDoorAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__3__Impl"


    // $ANTLR start "rule__Door__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4341:1: rule__Door__Group__4 : rule__Door__Group__4__Impl rule__Door__Group__5 ;
    public final void rule__Door__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4345:1: ( rule__Door__Group__4__Impl rule__Door__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4346:2: rule__Door__Group__4__Impl rule__Door__Group__5
            {
            pushFollow(FOLLOW_rule__Door__Group__4__Impl_in_rule__Door__Group__48588);
            rule__Door__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__5_in_rule__Door__Group__48591);
            rule__Door__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__4"


    // $ANTLR start "rule__Door__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4353:1: rule__Door__Group__4__Impl : ( ( rule__Door__Group_4__0 )? ) ;
    public final void rule__Door__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4357:1: ( ( ( rule__Door__Group_4__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4358:1: ( ( rule__Door__Group_4__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4358:1: ( ( rule__Door__Group_4__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4359:1: ( rule__Door__Group_4__0 )?
            {
             before(grammarAccess.getDoorAccess().getGroup_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4360:1: ( rule__Door__Group_4__0 )?
            int alt23=2;
            int LA23_0 = input.LA(1);

            if ( (LA23_0==36) ) {
                alt23=1;
            }
            switch (alt23) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4360:2: rule__Door__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__Door__Group_4__0_in_rule__Door__Group__4__Impl8618);
                    rule__Door__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDoorAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__4__Impl"


    // $ANTLR start "rule__Door__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4370:1: rule__Door__Group__5 : rule__Door__Group__5__Impl rule__Door__Group__6 ;
    public final void rule__Door__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4374:1: ( rule__Door__Group__5__Impl rule__Door__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4375:2: rule__Door__Group__5__Impl rule__Door__Group__6
            {
            pushFollow(FOLLOW_rule__Door__Group__5__Impl_in_rule__Door__Group__58649);
            rule__Door__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__6_in_rule__Door__Group__58652);
            rule__Door__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__5"


    // $ANTLR start "rule__Door__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4382:1: rule__Door__Group__5__Impl : ( ( rule__Door__Group_5__0 )? ) ;
    public final void rule__Door__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4386:1: ( ( ( rule__Door__Group_5__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4387:1: ( ( rule__Door__Group_5__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4387:1: ( ( rule__Door__Group_5__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4388:1: ( rule__Door__Group_5__0 )?
            {
             before(grammarAccess.getDoorAccess().getGroup_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4389:1: ( rule__Door__Group_5__0 )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==17) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4389:2: rule__Door__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__Door__Group_5__0_in_rule__Door__Group__5__Impl8679);
                    rule__Door__Group_5__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDoorAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__5__Impl"


    // $ANTLR start "rule__Door__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4399:1: rule__Door__Group__6 : rule__Door__Group__6__Impl rule__Door__Group__7 ;
    public final void rule__Door__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4403:1: ( rule__Door__Group__6__Impl rule__Door__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4404:2: rule__Door__Group__6__Impl rule__Door__Group__7
            {
            pushFollow(FOLLOW_rule__Door__Group__6__Impl_in_rule__Door__Group__68710);
            rule__Door__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__7_in_rule__Door__Group__68713);
            rule__Door__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__6"


    // $ANTLR start "rule__Door__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4411:1: rule__Door__Group__6__Impl : ( ( rule__Door__Group_6__0 )? ) ;
    public final void rule__Door__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4415:1: ( ( ( rule__Door__Group_6__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4416:1: ( ( rule__Door__Group_6__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4416:1: ( ( rule__Door__Group_6__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4417:1: ( rule__Door__Group_6__0 )?
            {
             before(grammarAccess.getDoorAccess().getGroup_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4418:1: ( rule__Door__Group_6__0 )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==20) ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4418:2: rule__Door__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__Door__Group_6__0_in_rule__Door__Group__6__Impl8740);
                    rule__Door__Group_6__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDoorAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__6__Impl"


    // $ANTLR start "rule__Door__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4428:1: rule__Door__Group__7 : rule__Door__Group__7__Impl rule__Door__Group__8 ;
    public final void rule__Door__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4432:1: ( rule__Door__Group__7__Impl rule__Door__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4433:2: rule__Door__Group__7__Impl rule__Door__Group__8
            {
            pushFollow(FOLLOW_rule__Door__Group__7__Impl_in_rule__Door__Group__78771);
            rule__Door__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__8_in_rule__Door__Group__78774);
            rule__Door__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__7"


    // $ANTLR start "rule__Door__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4440:1: rule__Door__Group__7__Impl : ( ( rule__Door__Group_7__0 )? ) ;
    public final void rule__Door__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4444:1: ( ( ( rule__Door__Group_7__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4445:1: ( ( rule__Door__Group_7__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4445:1: ( ( rule__Door__Group_7__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4446:1: ( rule__Door__Group_7__0 )?
            {
             before(grammarAccess.getDoorAccess().getGroup_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4447:1: ( rule__Door__Group_7__0 )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==21) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4447:2: rule__Door__Group_7__0
                    {
                    pushFollow(FOLLOW_rule__Door__Group_7__0_in_rule__Door__Group__7__Impl8801);
                    rule__Door__Group_7__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDoorAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__7__Impl"


    // $ANTLR start "rule__Door__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4457:1: rule__Door__Group__8 : rule__Door__Group__8__Impl rule__Door__Group__9 ;
    public final void rule__Door__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4461:1: ( rule__Door__Group__8__Impl rule__Door__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4462:2: rule__Door__Group__8__Impl rule__Door__Group__9
            {
            pushFollow(FOLLOW_rule__Door__Group__8__Impl_in_rule__Door__Group__88832);
            rule__Door__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group__9_in_rule__Door__Group__88835);
            rule__Door__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__8"


    // $ANTLR start "rule__Door__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4469:1: rule__Door__Group__8__Impl : ( ( rule__Door__Group_8__0 )? ) ;
    public final void rule__Door__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4473:1: ( ( ( rule__Door__Group_8__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4474:1: ( ( rule__Door__Group_8__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4474:1: ( ( rule__Door__Group_8__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4475:1: ( rule__Door__Group_8__0 )?
            {
             before(grammarAccess.getDoorAccess().getGroup_8()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4476:1: ( rule__Door__Group_8__0 )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==39) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4476:2: rule__Door__Group_8__0
                    {
                    pushFollow(FOLLOW_rule__Door__Group_8__0_in_rule__Door__Group__8__Impl8862);
                    rule__Door__Group_8__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDoorAccess().getGroup_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__8__Impl"


    // $ANTLR start "rule__Door__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4486:1: rule__Door__Group__9 : rule__Door__Group__9__Impl ;
    public final void rule__Door__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4490:1: ( rule__Door__Group__9__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4491:2: rule__Door__Group__9__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group__9__Impl_in_rule__Door__Group__98893);
            rule__Door__Group__9__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__9"


    // $ANTLR start "rule__Door__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4497:1: rule__Door__Group__9__Impl : ( '}' ) ;
    public final void rule__Door__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4501:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4502:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4502:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4503:1: '}'
            {
             before(grammarAccess.getDoorAccess().getRightCurlyBracketKeyword_9()); 
            match(input,13,FOLLOW_13_in_rule__Door__Group__9__Impl8921); 
             after(grammarAccess.getDoorAccess().getRightCurlyBracketKeyword_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group__9__Impl"


    // $ANTLR start "rule__Door__Group_3__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4536:1: rule__Door__Group_3__0 : rule__Door__Group_3__0__Impl rule__Door__Group_3__1 ;
    public final void rule__Door__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4540:1: ( rule__Door__Group_3__0__Impl rule__Door__Group_3__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4541:2: rule__Door__Group_3__0__Impl rule__Door__Group_3__1
            {
            pushFollow(FOLLOW_rule__Door__Group_3__0__Impl_in_rule__Door__Group_3__08972);
            rule__Door__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_3__1_in_rule__Door__Group_3__08975);
            rule__Door__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_3__0"


    // $ANTLR start "rule__Door__Group_3__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4548:1: rule__Door__Group_3__0__Impl : ( ( rule__Door__TranslationAssignment_3_0 ) ) ;
    public final void rule__Door__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4552:1: ( ( ( rule__Door__TranslationAssignment_3_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4553:1: ( ( rule__Door__TranslationAssignment_3_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4553:1: ( ( rule__Door__TranslationAssignment_3_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4554:1: ( rule__Door__TranslationAssignment_3_0 )
            {
             before(grammarAccess.getDoorAccess().getTranslationAssignment_3_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4555:1: ( rule__Door__TranslationAssignment_3_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4555:2: rule__Door__TranslationAssignment_3_0
            {
            pushFollow(FOLLOW_rule__Door__TranslationAssignment_3_0_in_rule__Door__Group_3__0__Impl9002);
            rule__Door__TranslationAssignment_3_0();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getTranslationAssignment_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_3__0__Impl"


    // $ANTLR start "rule__Door__Group_3__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4565:1: rule__Door__Group_3__1 : rule__Door__Group_3__1__Impl ;
    public final void rule__Door__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4569:1: ( rule__Door__Group_3__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4570:2: rule__Door__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group_3__1__Impl_in_rule__Door__Group_3__19032);
            rule__Door__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_3__1"


    // $ANTLR start "rule__Door__Group_3__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4576:1: rule__Door__Group_3__1__Impl : ( ';' ) ;
    public final void rule__Door__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4580:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4581:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4581:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4582:1: ';'
            {
             before(grammarAccess.getDoorAccess().getSemicolonKeyword_3_1()); 
            match(input,16,FOLLOW_16_in_rule__Door__Group_3__1__Impl9060); 
             after(grammarAccess.getDoorAccess().getSemicolonKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_3__1__Impl"


    // $ANTLR start "rule__Door__Group_4__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4599:1: rule__Door__Group_4__0 : rule__Door__Group_4__0__Impl rule__Door__Group_4__1 ;
    public final void rule__Door__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4603:1: ( rule__Door__Group_4__0__Impl rule__Door__Group_4__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4604:2: rule__Door__Group_4__0__Impl rule__Door__Group_4__1
            {
            pushFollow(FOLLOW_rule__Door__Group_4__0__Impl_in_rule__Door__Group_4__09095);
            rule__Door__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_4__1_in_rule__Door__Group_4__09098);
            rule__Door__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__0"


    // $ANTLR start "rule__Door__Group_4__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4611:1: rule__Door__Group_4__0__Impl : ( 'position' ) ;
    public final void rule__Door__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4615:1: ( ( 'position' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4616:1: ( 'position' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4616:1: ( 'position' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4617:1: 'position'
            {
             before(grammarAccess.getDoorAccess().getPositionKeyword_4_0()); 
            match(input,36,FOLLOW_36_in_rule__Door__Group_4__0__Impl9126); 
             after(grammarAccess.getDoorAccess().getPositionKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__0__Impl"


    // $ANTLR start "rule__Door__Group_4__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4630:1: rule__Door__Group_4__1 : rule__Door__Group_4__1__Impl rule__Door__Group_4__2 ;
    public final void rule__Door__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4634:1: ( rule__Door__Group_4__1__Impl rule__Door__Group_4__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4635:2: rule__Door__Group_4__1__Impl rule__Door__Group_4__2
            {
            pushFollow(FOLLOW_rule__Door__Group_4__1__Impl_in_rule__Door__Group_4__19157);
            rule__Door__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_4__2_in_rule__Door__Group_4__19160);
            rule__Door__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__1"


    // $ANTLR start "rule__Door__Group_4__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4642:1: rule__Door__Group_4__1__Impl : ( ':' ) ;
    public final void rule__Door__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4646:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4647:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4647:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4648:1: ':'
            {
             before(grammarAccess.getDoorAccess().getColonKeyword_4_1()); 
            match(input,18,FOLLOW_18_in_rule__Door__Group_4__1__Impl9188); 
             after(grammarAccess.getDoorAccess().getColonKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__1__Impl"


    // $ANTLR start "rule__Door__Group_4__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4661:1: rule__Door__Group_4__2 : rule__Door__Group_4__2__Impl rule__Door__Group_4__3 ;
    public final void rule__Door__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4665:1: ( rule__Door__Group_4__2__Impl rule__Door__Group_4__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4666:2: rule__Door__Group_4__2__Impl rule__Door__Group_4__3
            {
            pushFollow(FOLLOW_rule__Door__Group_4__2__Impl_in_rule__Door__Group_4__29219);
            rule__Door__Group_4__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_4__3_in_rule__Door__Group_4__29222);
            rule__Door__Group_4__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__2"


    // $ANTLR start "rule__Door__Group_4__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4673:1: rule__Door__Group_4__2__Impl : ( ( rule__Door__PositionAssignment_4_2 ) ) ;
    public final void rule__Door__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4677:1: ( ( ( rule__Door__PositionAssignment_4_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4678:1: ( ( rule__Door__PositionAssignment_4_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4678:1: ( ( rule__Door__PositionAssignment_4_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4679:1: ( rule__Door__PositionAssignment_4_2 )
            {
             before(grammarAccess.getDoorAccess().getPositionAssignment_4_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4680:1: ( rule__Door__PositionAssignment_4_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4680:2: rule__Door__PositionAssignment_4_2
            {
            pushFollow(FOLLOW_rule__Door__PositionAssignment_4_2_in_rule__Door__Group_4__2__Impl9249);
            rule__Door__PositionAssignment_4_2();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getPositionAssignment_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__2__Impl"


    // $ANTLR start "rule__Door__Group_4__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4690:1: rule__Door__Group_4__3 : rule__Door__Group_4__3__Impl ;
    public final void rule__Door__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4694:1: ( rule__Door__Group_4__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4695:2: rule__Door__Group_4__3__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group_4__3__Impl_in_rule__Door__Group_4__39279);
            rule__Door__Group_4__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__3"


    // $ANTLR start "rule__Door__Group_4__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4701:1: rule__Door__Group_4__3__Impl : ( ';' ) ;
    public final void rule__Door__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4705:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4706:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4706:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4707:1: ';'
            {
             before(grammarAccess.getDoorAccess().getSemicolonKeyword_4_3()); 
            match(input,16,FOLLOW_16_in_rule__Door__Group_4__3__Impl9307); 
             after(grammarAccess.getDoorAccess().getSemicolonKeyword_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_4__3__Impl"


    // $ANTLR start "rule__Door__Group_5__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4728:1: rule__Door__Group_5__0 : rule__Door__Group_5__0__Impl rule__Door__Group_5__1 ;
    public final void rule__Door__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4732:1: ( rule__Door__Group_5__0__Impl rule__Door__Group_5__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4733:2: rule__Door__Group_5__0__Impl rule__Door__Group_5__1
            {
            pushFollow(FOLLOW_rule__Door__Group_5__0__Impl_in_rule__Door__Group_5__09346);
            rule__Door__Group_5__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_5__1_in_rule__Door__Group_5__09349);
            rule__Door__Group_5__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__0"


    // $ANTLR start "rule__Door__Group_5__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4740:1: rule__Door__Group_5__0__Impl : ( 'width' ) ;
    public final void rule__Door__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4744:1: ( ( 'width' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4745:1: ( 'width' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4745:1: ( 'width' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4746:1: 'width'
            {
             before(grammarAccess.getDoorAccess().getWidthKeyword_5_0()); 
            match(input,17,FOLLOW_17_in_rule__Door__Group_5__0__Impl9377); 
             after(grammarAccess.getDoorAccess().getWidthKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__0__Impl"


    // $ANTLR start "rule__Door__Group_5__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4759:1: rule__Door__Group_5__1 : rule__Door__Group_5__1__Impl rule__Door__Group_5__2 ;
    public final void rule__Door__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4763:1: ( rule__Door__Group_5__1__Impl rule__Door__Group_5__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4764:2: rule__Door__Group_5__1__Impl rule__Door__Group_5__2
            {
            pushFollow(FOLLOW_rule__Door__Group_5__1__Impl_in_rule__Door__Group_5__19408);
            rule__Door__Group_5__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_5__2_in_rule__Door__Group_5__19411);
            rule__Door__Group_5__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__1"


    // $ANTLR start "rule__Door__Group_5__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4771:1: rule__Door__Group_5__1__Impl : ( ':' ) ;
    public final void rule__Door__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4775:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4776:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4776:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4777:1: ':'
            {
             before(grammarAccess.getDoorAccess().getColonKeyword_5_1()); 
            match(input,18,FOLLOW_18_in_rule__Door__Group_5__1__Impl9439); 
             after(grammarAccess.getDoorAccess().getColonKeyword_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__1__Impl"


    // $ANTLR start "rule__Door__Group_5__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4790:1: rule__Door__Group_5__2 : rule__Door__Group_5__2__Impl rule__Door__Group_5__3 ;
    public final void rule__Door__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4794:1: ( rule__Door__Group_5__2__Impl rule__Door__Group_5__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4795:2: rule__Door__Group_5__2__Impl rule__Door__Group_5__3
            {
            pushFollow(FOLLOW_rule__Door__Group_5__2__Impl_in_rule__Door__Group_5__29470);
            rule__Door__Group_5__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_5__3_in_rule__Door__Group_5__29473);
            rule__Door__Group_5__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__2"


    // $ANTLR start "rule__Door__Group_5__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4802:1: rule__Door__Group_5__2__Impl : ( ( rule__Door__WidthAssignment_5_2 ) ) ;
    public final void rule__Door__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4806:1: ( ( ( rule__Door__WidthAssignment_5_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4807:1: ( ( rule__Door__WidthAssignment_5_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4807:1: ( ( rule__Door__WidthAssignment_5_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4808:1: ( rule__Door__WidthAssignment_5_2 )
            {
             before(grammarAccess.getDoorAccess().getWidthAssignment_5_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4809:1: ( rule__Door__WidthAssignment_5_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4809:2: rule__Door__WidthAssignment_5_2
            {
            pushFollow(FOLLOW_rule__Door__WidthAssignment_5_2_in_rule__Door__Group_5__2__Impl9500);
            rule__Door__WidthAssignment_5_2();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getWidthAssignment_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__2__Impl"


    // $ANTLR start "rule__Door__Group_5__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4819:1: rule__Door__Group_5__3 : rule__Door__Group_5__3__Impl ;
    public final void rule__Door__Group_5__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4823:1: ( rule__Door__Group_5__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4824:2: rule__Door__Group_5__3__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group_5__3__Impl_in_rule__Door__Group_5__39530);
            rule__Door__Group_5__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__3"


    // $ANTLR start "rule__Door__Group_5__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4830:1: rule__Door__Group_5__3__Impl : ( ';' ) ;
    public final void rule__Door__Group_5__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4834:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4835:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4835:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4836:1: ';'
            {
             before(grammarAccess.getDoorAccess().getSemicolonKeyword_5_3()); 
            match(input,16,FOLLOW_16_in_rule__Door__Group_5__3__Impl9558); 
             after(grammarAccess.getDoorAccess().getSemicolonKeyword_5_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_5__3__Impl"


    // $ANTLR start "rule__Door__Group_6__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4857:1: rule__Door__Group_6__0 : rule__Door__Group_6__0__Impl rule__Door__Group_6__1 ;
    public final void rule__Door__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4861:1: ( rule__Door__Group_6__0__Impl rule__Door__Group_6__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4862:2: rule__Door__Group_6__0__Impl rule__Door__Group_6__1
            {
            pushFollow(FOLLOW_rule__Door__Group_6__0__Impl_in_rule__Door__Group_6__09597);
            rule__Door__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_6__1_in_rule__Door__Group_6__09600);
            rule__Door__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__0"


    // $ANTLR start "rule__Door__Group_6__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4869:1: rule__Door__Group_6__0__Impl : ( 'height' ) ;
    public final void rule__Door__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4873:1: ( ( 'height' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4874:1: ( 'height' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4874:1: ( 'height' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4875:1: 'height'
            {
             before(grammarAccess.getDoorAccess().getHeightKeyword_6_0()); 
            match(input,20,FOLLOW_20_in_rule__Door__Group_6__0__Impl9628); 
             after(grammarAccess.getDoorAccess().getHeightKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__0__Impl"


    // $ANTLR start "rule__Door__Group_6__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4888:1: rule__Door__Group_6__1 : rule__Door__Group_6__1__Impl rule__Door__Group_6__2 ;
    public final void rule__Door__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4892:1: ( rule__Door__Group_6__1__Impl rule__Door__Group_6__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4893:2: rule__Door__Group_6__1__Impl rule__Door__Group_6__2
            {
            pushFollow(FOLLOW_rule__Door__Group_6__1__Impl_in_rule__Door__Group_6__19659);
            rule__Door__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_6__2_in_rule__Door__Group_6__19662);
            rule__Door__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__1"


    // $ANTLR start "rule__Door__Group_6__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4900:1: rule__Door__Group_6__1__Impl : ( ':' ) ;
    public final void rule__Door__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4904:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4905:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4905:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4906:1: ':'
            {
             before(grammarAccess.getDoorAccess().getColonKeyword_6_1()); 
            match(input,18,FOLLOW_18_in_rule__Door__Group_6__1__Impl9690); 
             after(grammarAccess.getDoorAccess().getColonKeyword_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__1__Impl"


    // $ANTLR start "rule__Door__Group_6__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4919:1: rule__Door__Group_6__2 : rule__Door__Group_6__2__Impl rule__Door__Group_6__3 ;
    public final void rule__Door__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4923:1: ( rule__Door__Group_6__2__Impl rule__Door__Group_6__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4924:2: rule__Door__Group_6__2__Impl rule__Door__Group_6__3
            {
            pushFollow(FOLLOW_rule__Door__Group_6__2__Impl_in_rule__Door__Group_6__29721);
            rule__Door__Group_6__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_6__3_in_rule__Door__Group_6__29724);
            rule__Door__Group_6__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__2"


    // $ANTLR start "rule__Door__Group_6__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4931:1: rule__Door__Group_6__2__Impl : ( ( rule__Door__HeightAssignment_6_2 ) ) ;
    public final void rule__Door__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4935:1: ( ( ( rule__Door__HeightAssignment_6_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4936:1: ( ( rule__Door__HeightAssignment_6_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4936:1: ( ( rule__Door__HeightAssignment_6_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4937:1: ( rule__Door__HeightAssignment_6_2 )
            {
             before(grammarAccess.getDoorAccess().getHeightAssignment_6_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4938:1: ( rule__Door__HeightAssignment_6_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4938:2: rule__Door__HeightAssignment_6_2
            {
            pushFollow(FOLLOW_rule__Door__HeightAssignment_6_2_in_rule__Door__Group_6__2__Impl9751);
            rule__Door__HeightAssignment_6_2();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getHeightAssignment_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__2__Impl"


    // $ANTLR start "rule__Door__Group_6__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4948:1: rule__Door__Group_6__3 : rule__Door__Group_6__3__Impl ;
    public final void rule__Door__Group_6__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4952:1: ( rule__Door__Group_6__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4953:2: rule__Door__Group_6__3__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group_6__3__Impl_in_rule__Door__Group_6__39781);
            rule__Door__Group_6__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__3"


    // $ANTLR start "rule__Door__Group_6__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4959:1: rule__Door__Group_6__3__Impl : ( ';' ) ;
    public final void rule__Door__Group_6__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4963:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4964:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4964:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4965:1: ';'
            {
             before(grammarAccess.getDoorAccess().getSemicolonKeyword_6_3()); 
            match(input,16,FOLLOW_16_in_rule__Door__Group_6__3__Impl9809); 
             after(grammarAccess.getDoorAccess().getSemicolonKeyword_6_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_6__3__Impl"


    // $ANTLR start "rule__Door__Group_7__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4986:1: rule__Door__Group_7__0 : rule__Door__Group_7__0__Impl rule__Door__Group_7__1 ;
    public final void rule__Door__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4990:1: ( rule__Door__Group_7__0__Impl rule__Door__Group_7__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4991:2: rule__Door__Group_7__0__Impl rule__Door__Group_7__1
            {
            pushFollow(FOLLOW_rule__Door__Group_7__0__Impl_in_rule__Door__Group_7__09848);
            rule__Door__Group_7__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_7__1_in_rule__Door__Group_7__09851);
            rule__Door__Group_7__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__0"


    // $ANTLR start "rule__Door__Group_7__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:4998:1: rule__Door__Group_7__0__Impl : ( 'texture' ) ;
    public final void rule__Door__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5002:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5003:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5003:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5004:1: 'texture'
            {
             before(grammarAccess.getDoorAccess().getTextureKeyword_7_0()); 
            match(input,21,FOLLOW_21_in_rule__Door__Group_7__0__Impl9879); 
             after(grammarAccess.getDoorAccess().getTextureKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__0__Impl"


    // $ANTLR start "rule__Door__Group_7__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5017:1: rule__Door__Group_7__1 : rule__Door__Group_7__1__Impl rule__Door__Group_7__2 ;
    public final void rule__Door__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5021:1: ( rule__Door__Group_7__1__Impl rule__Door__Group_7__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5022:2: rule__Door__Group_7__1__Impl rule__Door__Group_7__2
            {
            pushFollow(FOLLOW_rule__Door__Group_7__1__Impl_in_rule__Door__Group_7__19910);
            rule__Door__Group_7__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_7__2_in_rule__Door__Group_7__19913);
            rule__Door__Group_7__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__1"


    // $ANTLR start "rule__Door__Group_7__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5029:1: rule__Door__Group_7__1__Impl : ( ':' ) ;
    public final void rule__Door__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5033:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5034:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5034:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5035:1: ':'
            {
             before(grammarAccess.getDoorAccess().getColonKeyword_7_1()); 
            match(input,18,FOLLOW_18_in_rule__Door__Group_7__1__Impl9941); 
             after(grammarAccess.getDoorAccess().getColonKeyword_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__1__Impl"


    // $ANTLR start "rule__Door__Group_7__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5048:1: rule__Door__Group_7__2 : rule__Door__Group_7__2__Impl rule__Door__Group_7__3 ;
    public final void rule__Door__Group_7__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5052:1: ( rule__Door__Group_7__2__Impl rule__Door__Group_7__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5053:2: rule__Door__Group_7__2__Impl rule__Door__Group_7__3
            {
            pushFollow(FOLLOW_rule__Door__Group_7__2__Impl_in_rule__Door__Group_7__29972);
            rule__Door__Group_7__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_7__3_in_rule__Door__Group_7__29975);
            rule__Door__Group_7__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__2"


    // $ANTLR start "rule__Door__Group_7__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5060:1: rule__Door__Group_7__2__Impl : ( ( rule__Door__TextureAssignment_7_2 ) ) ;
    public final void rule__Door__Group_7__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5064:1: ( ( ( rule__Door__TextureAssignment_7_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5065:1: ( ( rule__Door__TextureAssignment_7_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5065:1: ( ( rule__Door__TextureAssignment_7_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5066:1: ( rule__Door__TextureAssignment_7_2 )
            {
             before(grammarAccess.getDoorAccess().getTextureAssignment_7_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5067:1: ( rule__Door__TextureAssignment_7_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5067:2: rule__Door__TextureAssignment_7_2
            {
            pushFollow(FOLLOW_rule__Door__TextureAssignment_7_2_in_rule__Door__Group_7__2__Impl10002);
            rule__Door__TextureAssignment_7_2();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getTextureAssignment_7_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__2__Impl"


    // $ANTLR start "rule__Door__Group_7__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5077:1: rule__Door__Group_7__3 : rule__Door__Group_7__3__Impl ;
    public final void rule__Door__Group_7__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5081:1: ( rule__Door__Group_7__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5082:2: rule__Door__Group_7__3__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group_7__3__Impl_in_rule__Door__Group_7__310032);
            rule__Door__Group_7__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__3"


    // $ANTLR start "rule__Door__Group_7__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5088:1: rule__Door__Group_7__3__Impl : ( ';' ) ;
    public final void rule__Door__Group_7__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5092:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5093:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5093:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5094:1: ';'
            {
             before(grammarAccess.getDoorAccess().getSemicolonKeyword_7_3()); 
            match(input,16,FOLLOW_16_in_rule__Door__Group_7__3__Impl10060); 
             after(grammarAccess.getDoorAccess().getSemicolonKeyword_7_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_7__3__Impl"


    // $ANTLR start "rule__Door__Group_8__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5115:1: rule__Door__Group_8__0 : rule__Door__Group_8__0__Impl rule__Door__Group_8__1 ;
    public final void rule__Door__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5119:1: ( rule__Door__Group_8__0__Impl rule__Door__Group_8__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5120:2: rule__Door__Group_8__0__Impl rule__Door__Group_8__1
            {
            pushFollow(FOLLOW_rule__Door__Group_8__0__Impl_in_rule__Door__Group_8__010099);
            rule__Door__Group_8__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Door__Group_8__1_in_rule__Door__Group_8__010102);
            rule__Door__Group_8__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_8__0"


    // $ANTLR start "rule__Door__Group_8__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5127:1: rule__Door__Group_8__0__Impl : ( ( rule__Door__MarginAssignment_8_0 ) ) ;
    public final void rule__Door__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5131:1: ( ( ( rule__Door__MarginAssignment_8_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5132:1: ( ( rule__Door__MarginAssignment_8_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5132:1: ( ( rule__Door__MarginAssignment_8_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5133:1: ( rule__Door__MarginAssignment_8_0 )
            {
             before(grammarAccess.getDoorAccess().getMarginAssignment_8_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5134:1: ( rule__Door__MarginAssignment_8_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5134:2: rule__Door__MarginAssignment_8_0
            {
            pushFollow(FOLLOW_rule__Door__MarginAssignment_8_0_in_rule__Door__Group_8__0__Impl10129);
            rule__Door__MarginAssignment_8_0();

            state._fsp--;


            }

             after(grammarAccess.getDoorAccess().getMarginAssignment_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_8__0__Impl"


    // $ANTLR start "rule__Door__Group_8__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5144:1: rule__Door__Group_8__1 : rule__Door__Group_8__1__Impl ;
    public final void rule__Door__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5148:1: ( rule__Door__Group_8__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5149:2: rule__Door__Group_8__1__Impl
            {
            pushFollow(FOLLOW_rule__Door__Group_8__1__Impl_in_rule__Door__Group_8__110159);
            rule__Door__Group_8__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_8__1"


    // $ANTLR start "rule__Door__Group_8__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5155:1: rule__Door__Group_8__1__Impl : ( ';' ) ;
    public final void rule__Door__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5159:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5160:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5160:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5161:1: ';'
            {
             before(grammarAccess.getDoorAccess().getSemicolonKeyword_8_1()); 
            match(input,16,FOLLOW_16_in_rule__Door__Group_8__1__Impl10187); 
             after(grammarAccess.getDoorAccess().getSemicolonKeyword_8_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__Group_8__1__Impl"


    // $ANTLR start "rule__Window__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5178:1: rule__Window__Group__0 : rule__Window__Group__0__Impl rule__Window__Group__1 ;
    public final void rule__Window__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5182:1: ( rule__Window__Group__0__Impl rule__Window__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5183:2: rule__Window__Group__0__Impl rule__Window__Group__1
            {
            pushFollow(FOLLOW_rule__Window__Group__0__Impl_in_rule__Window__Group__010222);
            rule__Window__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__1_in_rule__Window__Group__010225);
            rule__Window__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__0"


    // $ANTLR start "rule__Window__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5190:1: rule__Window__Group__0__Impl : ( 'window' ) ;
    public final void rule__Window__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5194:1: ( ( 'window' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5195:1: ( 'window' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5195:1: ( 'window' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5196:1: 'window'
            {
             before(grammarAccess.getWindowAccess().getWindowKeyword_0()); 
            match(input,37,FOLLOW_37_in_rule__Window__Group__0__Impl10253); 
             after(grammarAccess.getWindowAccess().getWindowKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__0__Impl"


    // $ANTLR start "rule__Window__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5209:1: rule__Window__Group__1 : rule__Window__Group__1__Impl rule__Window__Group__2 ;
    public final void rule__Window__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5213:1: ( rule__Window__Group__1__Impl rule__Window__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5214:2: rule__Window__Group__1__Impl rule__Window__Group__2
            {
            pushFollow(FOLLOW_rule__Window__Group__1__Impl_in_rule__Window__Group__110284);
            rule__Window__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__2_in_rule__Window__Group__110287);
            rule__Window__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__1"


    // $ANTLR start "rule__Window__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5221:1: rule__Window__Group__1__Impl : ( ( rule__Window__NameAssignment_1 ) ) ;
    public final void rule__Window__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5225:1: ( ( ( rule__Window__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5226:1: ( ( rule__Window__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5226:1: ( ( rule__Window__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5227:1: ( rule__Window__NameAssignment_1 )
            {
             before(grammarAccess.getWindowAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5228:1: ( rule__Window__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5228:2: rule__Window__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Window__NameAssignment_1_in_rule__Window__Group__1__Impl10314);
            rule__Window__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__1__Impl"


    // $ANTLR start "rule__Window__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5238:1: rule__Window__Group__2 : rule__Window__Group__2__Impl rule__Window__Group__3 ;
    public final void rule__Window__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5242:1: ( rule__Window__Group__2__Impl rule__Window__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5243:2: rule__Window__Group__2__Impl rule__Window__Group__3
            {
            pushFollow(FOLLOW_rule__Window__Group__2__Impl_in_rule__Window__Group__210344);
            rule__Window__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__3_in_rule__Window__Group__210347);
            rule__Window__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__2"


    // $ANTLR start "rule__Window__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5250:1: rule__Window__Group__2__Impl : ( '{' ) ;
    public final void rule__Window__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5254:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5255:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5255:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5256:1: '{'
            {
             before(grammarAccess.getWindowAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Window__Group__2__Impl10375); 
             after(grammarAccess.getWindowAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__2__Impl"


    // $ANTLR start "rule__Window__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5269:1: rule__Window__Group__3 : rule__Window__Group__3__Impl rule__Window__Group__4 ;
    public final void rule__Window__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5273:1: ( rule__Window__Group__3__Impl rule__Window__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5274:2: rule__Window__Group__3__Impl rule__Window__Group__4
            {
            pushFollow(FOLLOW_rule__Window__Group__3__Impl_in_rule__Window__Group__310406);
            rule__Window__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__4_in_rule__Window__Group__310409);
            rule__Window__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__3"


    // $ANTLR start "rule__Window__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5281:1: rule__Window__Group__3__Impl : ( ( rule__Window__Group_3__0 )? ) ;
    public final void rule__Window__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5285:1: ( ( ( rule__Window__Group_3__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5286:1: ( ( rule__Window__Group_3__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5286:1: ( ( rule__Window__Group_3__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5287:1: ( rule__Window__Group_3__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5288:1: ( rule__Window__Group_3__0 )?
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==24) ) {
                alt28=1;
            }
            switch (alt28) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5288:2: rule__Window__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_3__0_in_rule__Window__Group__3__Impl10436);
                    rule__Window__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__3__Impl"


    // $ANTLR start "rule__Window__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5298:1: rule__Window__Group__4 : rule__Window__Group__4__Impl rule__Window__Group__5 ;
    public final void rule__Window__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5302:1: ( rule__Window__Group__4__Impl rule__Window__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5303:2: rule__Window__Group__4__Impl rule__Window__Group__5
            {
            pushFollow(FOLLOW_rule__Window__Group__4__Impl_in_rule__Window__Group__410467);
            rule__Window__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__5_in_rule__Window__Group__410470);
            rule__Window__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__4"


    // $ANTLR start "rule__Window__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5310:1: rule__Window__Group__4__Impl : ( ( rule__Window__Group_4__0 )? ) ;
    public final void rule__Window__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5314:1: ( ( ( rule__Window__Group_4__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5315:1: ( ( rule__Window__Group_4__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5315:1: ( ( rule__Window__Group_4__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5316:1: ( rule__Window__Group_4__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_4()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5317:1: ( rule__Window__Group_4__0 )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==36) ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5317:2: rule__Window__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_4__0_in_rule__Window__Group__4__Impl10497);
                    rule__Window__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__4__Impl"


    // $ANTLR start "rule__Window__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5327:1: rule__Window__Group__5 : rule__Window__Group__5__Impl rule__Window__Group__6 ;
    public final void rule__Window__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5331:1: ( rule__Window__Group__5__Impl rule__Window__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5332:2: rule__Window__Group__5__Impl rule__Window__Group__6
            {
            pushFollow(FOLLOW_rule__Window__Group__5__Impl_in_rule__Window__Group__510528);
            rule__Window__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__6_in_rule__Window__Group__510531);
            rule__Window__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__5"


    // $ANTLR start "rule__Window__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5339:1: rule__Window__Group__5__Impl : ( ( rule__Window__Group_5__0 )? ) ;
    public final void rule__Window__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5343:1: ( ( ( rule__Window__Group_5__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5344:1: ( ( rule__Window__Group_5__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5344:1: ( ( rule__Window__Group_5__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5345:1: ( rule__Window__Group_5__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5346:1: ( rule__Window__Group_5__0 )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==17) ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5346:2: rule__Window__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_5__0_in_rule__Window__Group__5__Impl10558);
                    rule__Window__Group_5__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__5__Impl"


    // $ANTLR start "rule__Window__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5356:1: rule__Window__Group__6 : rule__Window__Group__6__Impl rule__Window__Group__7 ;
    public final void rule__Window__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5360:1: ( rule__Window__Group__6__Impl rule__Window__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5361:2: rule__Window__Group__6__Impl rule__Window__Group__7
            {
            pushFollow(FOLLOW_rule__Window__Group__6__Impl_in_rule__Window__Group__610589);
            rule__Window__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__7_in_rule__Window__Group__610592);
            rule__Window__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__6"


    // $ANTLR start "rule__Window__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5368:1: rule__Window__Group__6__Impl : ( ( rule__Window__Group_6__0 )? ) ;
    public final void rule__Window__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5372:1: ( ( ( rule__Window__Group_6__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5373:1: ( ( rule__Window__Group_6__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5373:1: ( ( rule__Window__Group_6__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5374:1: ( rule__Window__Group_6__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5375:1: ( rule__Window__Group_6__0 )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==20) ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5375:2: rule__Window__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_6__0_in_rule__Window__Group__6__Impl10619);
                    rule__Window__Group_6__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__6__Impl"


    // $ANTLR start "rule__Window__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5385:1: rule__Window__Group__7 : rule__Window__Group__7__Impl rule__Window__Group__8 ;
    public final void rule__Window__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5389:1: ( rule__Window__Group__7__Impl rule__Window__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5390:2: rule__Window__Group__7__Impl rule__Window__Group__8
            {
            pushFollow(FOLLOW_rule__Window__Group__7__Impl_in_rule__Window__Group__710650);
            rule__Window__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__8_in_rule__Window__Group__710653);
            rule__Window__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__7"


    // $ANTLR start "rule__Window__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5397:1: rule__Window__Group__7__Impl : ( ( rule__Window__Group_7__0 )? ) ;
    public final void rule__Window__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5401:1: ( ( ( rule__Window__Group_7__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5402:1: ( ( rule__Window__Group_7__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5402:1: ( ( rule__Window__Group_7__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5403:1: ( rule__Window__Group_7__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5404:1: ( rule__Window__Group_7__0 )?
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==38) ) {
                alt32=1;
            }
            switch (alt32) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5404:2: rule__Window__Group_7__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_7__0_in_rule__Window__Group__7__Impl10680);
                    rule__Window__Group_7__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__7__Impl"


    // $ANTLR start "rule__Window__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5414:1: rule__Window__Group__8 : rule__Window__Group__8__Impl rule__Window__Group__9 ;
    public final void rule__Window__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5418:1: ( rule__Window__Group__8__Impl rule__Window__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5419:2: rule__Window__Group__8__Impl rule__Window__Group__9
            {
            pushFollow(FOLLOW_rule__Window__Group__8__Impl_in_rule__Window__Group__810711);
            rule__Window__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__9_in_rule__Window__Group__810714);
            rule__Window__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__8"


    // $ANTLR start "rule__Window__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5426:1: rule__Window__Group__8__Impl : ( ( rule__Window__Group_8__0 )? ) ;
    public final void rule__Window__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5430:1: ( ( ( rule__Window__Group_8__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5431:1: ( ( rule__Window__Group_8__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5431:1: ( ( rule__Window__Group_8__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5432:1: ( rule__Window__Group_8__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_8()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5433:1: ( rule__Window__Group_8__0 )?
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( (LA33_0==21) ) {
                alt33=1;
            }
            switch (alt33) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5433:2: rule__Window__Group_8__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_8__0_in_rule__Window__Group__8__Impl10741);
                    rule__Window__Group_8__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__8__Impl"


    // $ANTLR start "rule__Window__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5443:1: rule__Window__Group__9 : rule__Window__Group__9__Impl rule__Window__Group__10 ;
    public final void rule__Window__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5447:1: ( rule__Window__Group__9__Impl rule__Window__Group__10 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5448:2: rule__Window__Group__9__Impl rule__Window__Group__10
            {
            pushFollow(FOLLOW_rule__Window__Group__9__Impl_in_rule__Window__Group__910772);
            rule__Window__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__10_in_rule__Window__Group__910775);
            rule__Window__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__9"


    // $ANTLR start "rule__Window__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5455:1: rule__Window__Group__9__Impl : ( ( rule__Window__Group_9__0 )? ) ;
    public final void rule__Window__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5459:1: ( ( ( rule__Window__Group_9__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5460:1: ( ( rule__Window__Group_9__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5460:1: ( ( rule__Window__Group_9__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5461:1: ( rule__Window__Group_9__0 )?
            {
             before(grammarAccess.getWindowAccess().getGroup_9()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5462:1: ( rule__Window__Group_9__0 )?
            int alt34=2;
            int LA34_0 = input.LA(1);

            if ( (LA34_0==39) ) {
                alt34=1;
            }
            switch (alt34) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5462:2: rule__Window__Group_9__0
                    {
                    pushFollow(FOLLOW_rule__Window__Group_9__0_in_rule__Window__Group__9__Impl10802);
                    rule__Window__Group_9__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWindowAccess().getGroup_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__9__Impl"


    // $ANTLR start "rule__Window__Group__10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5472:1: rule__Window__Group__10 : rule__Window__Group__10__Impl rule__Window__Group__11 ;
    public final void rule__Window__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5476:1: ( rule__Window__Group__10__Impl rule__Window__Group__11 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5477:2: rule__Window__Group__10__Impl rule__Window__Group__11
            {
            pushFollow(FOLLOW_rule__Window__Group__10__Impl_in_rule__Window__Group__1010833);
            rule__Window__Group__10__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group__11_in_rule__Window__Group__1010836);
            rule__Window__Group__11();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__10"


    // $ANTLR start "rule__Window__Group__10__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5484:1: rule__Window__Group__10__Impl : ( ( rule__Window__PointsAssignment_10 )* ) ;
    public final void rule__Window__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5488:1: ( ( ( rule__Window__PointsAssignment_10 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5489:1: ( ( rule__Window__PointsAssignment_10 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5489:1: ( ( rule__Window__PointsAssignment_10 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5490:1: ( rule__Window__PointsAssignment_10 )*
            {
             before(grammarAccess.getWindowAccess().getPointsAssignment_10()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5491:1: ( rule__Window__PointsAssignment_10 )*
            loop35:
            do {
                int alt35=2;
                int LA35_0 = input.LA(1);

                if ( (LA35_0==32) ) {
                    alt35=1;
                }


                switch (alt35) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5491:2: rule__Window__PointsAssignment_10
            	    {
            	    pushFollow(FOLLOW_rule__Window__PointsAssignment_10_in_rule__Window__Group__10__Impl10863);
            	    rule__Window__PointsAssignment_10();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop35;
                }
            } while (true);

             after(grammarAccess.getWindowAccess().getPointsAssignment_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__10__Impl"


    // $ANTLR start "rule__Window__Group__11"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5501:1: rule__Window__Group__11 : rule__Window__Group__11__Impl ;
    public final void rule__Window__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5505:1: ( rule__Window__Group__11__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5506:2: rule__Window__Group__11__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group__11__Impl_in_rule__Window__Group__1110894);
            rule__Window__Group__11__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__11"


    // $ANTLR start "rule__Window__Group__11__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5512:1: rule__Window__Group__11__Impl : ( '}' ) ;
    public final void rule__Window__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5516:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5517:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5517:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5518:1: '}'
            {
             before(grammarAccess.getWindowAccess().getRightCurlyBracketKeyword_11()); 
            match(input,13,FOLLOW_13_in_rule__Window__Group__11__Impl10922); 
             after(grammarAccess.getWindowAccess().getRightCurlyBracketKeyword_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group__11__Impl"


    // $ANTLR start "rule__Window__Group_3__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5555:1: rule__Window__Group_3__0 : rule__Window__Group_3__0__Impl rule__Window__Group_3__1 ;
    public final void rule__Window__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5559:1: ( rule__Window__Group_3__0__Impl rule__Window__Group_3__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5560:2: rule__Window__Group_3__0__Impl rule__Window__Group_3__1
            {
            pushFollow(FOLLOW_rule__Window__Group_3__0__Impl_in_rule__Window__Group_3__010977);
            rule__Window__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_3__1_in_rule__Window__Group_3__010980);
            rule__Window__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_3__0"


    // $ANTLR start "rule__Window__Group_3__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5567:1: rule__Window__Group_3__0__Impl : ( ( rule__Window__TranslationAssignment_3_0 ) ) ;
    public final void rule__Window__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5571:1: ( ( ( rule__Window__TranslationAssignment_3_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5572:1: ( ( rule__Window__TranslationAssignment_3_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5572:1: ( ( rule__Window__TranslationAssignment_3_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5573:1: ( rule__Window__TranslationAssignment_3_0 )
            {
             before(grammarAccess.getWindowAccess().getTranslationAssignment_3_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5574:1: ( rule__Window__TranslationAssignment_3_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5574:2: rule__Window__TranslationAssignment_3_0
            {
            pushFollow(FOLLOW_rule__Window__TranslationAssignment_3_0_in_rule__Window__Group_3__0__Impl11007);
            rule__Window__TranslationAssignment_3_0();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getTranslationAssignment_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_3__0__Impl"


    // $ANTLR start "rule__Window__Group_3__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5584:1: rule__Window__Group_3__1 : rule__Window__Group_3__1__Impl ;
    public final void rule__Window__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5588:1: ( rule__Window__Group_3__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5589:2: rule__Window__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_3__1__Impl_in_rule__Window__Group_3__111037);
            rule__Window__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_3__1"


    // $ANTLR start "rule__Window__Group_3__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5595:1: rule__Window__Group_3__1__Impl : ( ';' ) ;
    public final void rule__Window__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5599:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5600:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5600:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5601:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_3_1()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_3__1__Impl11065); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_3__1__Impl"


    // $ANTLR start "rule__Window__Group_4__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5618:1: rule__Window__Group_4__0 : rule__Window__Group_4__0__Impl rule__Window__Group_4__1 ;
    public final void rule__Window__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5622:1: ( rule__Window__Group_4__0__Impl rule__Window__Group_4__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5623:2: rule__Window__Group_4__0__Impl rule__Window__Group_4__1
            {
            pushFollow(FOLLOW_rule__Window__Group_4__0__Impl_in_rule__Window__Group_4__011100);
            rule__Window__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_4__1_in_rule__Window__Group_4__011103);
            rule__Window__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__0"


    // $ANTLR start "rule__Window__Group_4__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5630:1: rule__Window__Group_4__0__Impl : ( 'position' ) ;
    public final void rule__Window__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5634:1: ( ( 'position' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5635:1: ( 'position' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5635:1: ( 'position' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5636:1: 'position'
            {
             before(grammarAccess.getWindowAccess().getPositionKeyword_4_0()); 
            match(input,36,FOLLOW_36_in_rule__Window__Group_4__0__Impl11131); 
             after(grammarAccess.getWindowAccess().getPositionKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__0__Impl"


    // $ANTLR start "rule__Window__Group_4__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5649:1: rule__Window__Group_4__1 : rule__Window__Group_4__1__Impl rule__Window__Group_4__2 ;
    public final void rule__Window__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5653:1: ( rule__Window__Group_4__1__Impl rule__Window__Group_4__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5654:2: rule__Window__Group_4__1__Impl rule__Window__Group_4__2
            {
            pushFollow(FOLLOW_rule__Window__Group_4__1__Impl_in_rule__Window__Group_4__111162);
            rule__Window__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_4__2_in_rule__Window__Group_4__111165);
            rule__Window__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__1"


    // $ANTLR start "rule__Window__Group_4__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5661:1: rule__Window__Group_4__1__Impl : ( ':' ) ;
    public final void rule__Window__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5665:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5666:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5666:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5667:1: ':'
            {
             before(grammarAccess.getWindowAccess().getColonKeyword_4_1()); 
            match(input,18,FOLLOW_18_in_rule__Window__Group_4__1__Impl11193); 
             after(grammarAccess.getWindowAccess().getColonKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__1__Impl"


    // $ANTLR start "rule__Window__Group_4__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5680:1: rule__Window__Group_4__2 : rule__Window__Group_4__2__Impl rule__Window__Group_4__3 ;
    public final void rule__Window__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5684:1: ( rule__Window__Group_4__2__Impl rule__Window__Group_4__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5685:2: rule__Window__Group_4__2__Impl rule__Window__Group_4__3
            {
            pushFollow(FOLLOW_rule__Window__Group_4__2__Impl_in_rule__Window__Group_4__211224);
            rule__Window__Group_4__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_4__3_in_rule__Window__Group_4__211227);
            rule__Window__Group_4__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__2"


    // $ANTLR start "rule__Window__Group_4__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5692:1: rule__Window__Group_4__2__Impl : ( ( rule__Window__PositionAssignment_4_2 ) ) ;
    public final void rule__Window__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5696:1: ( ( ( rule__Window__PositionAssignment_4_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5697:1: ( ( rule__Window__PositionAssignment_4_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5697:1: ( ( rule__Window__PositionAssignment_4_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5698:1: ( rule__Window__PositionAssignment_4_2 )
            {
             before(grammarAccess.getWindowAccess().getPositionAssignment_4_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5699:1: ( rule__Window__PositionAssignment_4_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5699:2: rule__Window__PositionAssignment_4_2
            {
            pushFollow(FOLLOW_rule__Window__PositionAssignment_4_2_in_rule__Window__Group_4__2__Impl11254);
            rule__Window__PositionAssignment_4_2();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getPositionAssignment_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__2__Impl"


    // $ANTLR start "rule__Window__Group_4__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5709:1: rule__Window__Group_4__3 : rule__Window__Group_4__3__Impl ;
    public final void rule__Window__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5713:1: ( rule__Window__Group_4__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5714:2: rule__Window__Group_4__3__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_4__3__Impl_in_rule__Window__Group_4__311284);
            rule__Window__Group_4__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__3"


    // $ANTLR start "rule__Window__Group_4__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5720:1: rule__Window__Group_4__3__Impl : ( ';' ) ;
    public final void rule__Window__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5724:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5725:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5725:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5726:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_4_3()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_4__3__Impl11312); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_4__3__Impl"


    // $ANTLR start "rule__Window__Group_5__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5747:1: rule__Window__Group_5__0 : rule__Window__Group_5__0__Impl rule__Window__Group_5__1 ;
    public final void rule__Window__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5751:1: ( rule__Window__Group_5__0__Impl rule__Window__Group_5__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5752:2: rule__Window__Group_5__0__Impl rule__Window__Group_5__1
            {
            pushFollow(FOLLOW_rule__Window__Group_5__0__Impl_in_rule__Window__Group_5__011351);
            rule__Window__Group_5__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_5__1_in_rule__Window__Group_5__011354);
            rule__Window__Group_5__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__0"


    // $ANTLR start "rule__Window__Group_5__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5759:1: rule__Window__Group_5__0__Impl : ( 'width' ) ;
    public final void rule__Window__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5763:1: ( ( 'width' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5764:1: ( 'width' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5764:1: ( 'width' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5765:1: 'width'
            {
             before(grammarAccess.getWindowAccess().getWidthKeyword_5_0()); 
            match(input,17,FOLLOW_17_in_rule__Window__Group_5__0__Impl11382); 
             after(grammarAccess.getWindowAccess().getWidthKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__0__Impl"


    // $ANTLR start "rule__Window__Group_5__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5778:1: rule__Window__Group_5__1 : rule__Window__Group_5__1__Impl rule__Window__Group_5__2 ;
    public final void rule__Window__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5782:1: ( rule__Window__Group_5__1__Impl rule__Window__Group_5__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5783:2: rule__Window__Group_5__1__Impl rule__Window__Group_5__2
            {
            pushFollow(FOLLOW_rule__Window__Group_5__1__Impl_in_rule__Window__Group_5__111413);
            rule__Window__Group_5__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_5__2_in_rule__Window__Group_5__111416);
            rule__Window__Group_5__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__1"


    // $ANTLR start "rule__Window__Group_5__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5790:1: rule__Window__Group_5__1__Impl : ( ':' ) ;
    public final void rule__Window__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5794:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5795:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5795:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5796:1: ':'
            {
             before(grammarAccess.getWindowAccess().getColonKeyword_5_1()); 
            match(input,18,FOLLOW_18_in_rule__Window__Group_5__1__Impl11444); 
             after(grammarAccess.getWindowAccess().getColonKeyword_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__1__Impl"


    // $ANTLR start "rule__Window__Group_5__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5809:1: rule__Window__Group_5__2 : rule__Window__Group_5__2__Impl rule__Window__Group_5__3 ;
    public final void rule__Window__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5813:1: ( rule__Window__Group_5__2__Impl rule__Window__Group_5__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5814:2: rule__Window__Group_5__2__Impl rule__Window__Group_5__3
            {
            pushFollow(FOLLOW_rule__Window__Group_5__2__Impl_in_rule__Window__Group_5__211475);
            rule__Window__Group_5__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_5__3_in_rule__Window__Group_5__211478);
            rule__Window__Group_5__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__2"


    // $ANTLR start "rule__Window__Group_5__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5821:1: rule__Window__Group_5__2__Impl : ( ( rule__Window__WidthAssignment_5_2 ) ) ;
    public final void rule__Window__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5825:1: ( ( ( rule__Window__WidthAssignment_5_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5826:1: ( ( rule__Window__WidthAssignment_5_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5826:1: ( ( rule__Window__WidthAssignment_5_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5827:1: ( rule__Window__WidthAssignment_5_2 )
            {
             before(grammarAccess.getWindowAccess().getWidthAssignment_5_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5828:1: ( rule__Window__WidthAssignment_5_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5828:2: rule__Window__WidthAssignment_5_2
            {
            pushFollow(FOLLOW_rule__Window__WidthAssignment_5_2_in_rule__Window__Group_5__2__Impl11505);
            rule__Window__WidthAssignment_5_2();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getWidthAssignment_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__2__Impl"


    // $ANTLR start "rule__Window__Group_5__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5838:1: rule__Window__Group_5__3 : rule__Window__Group_5__3__Impl ;
    public final void rule__Window__Group_5__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5842:1: ( rule__Window__Group_5__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5843:2: rule__Window__Group_5__3__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_5__3__Impl_in_rule__Window__Group_5__311535);
            rule__Window__Group_5__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__3"


    // $ANTLR start "rule__Window__Group_5__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5849:1: rule__Window__Group_5__3__Impl : ( ';' ) ;
    public final void rule__Window__Group_5__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5853:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5854:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5854:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5855:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_5_3()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_5__3__Impl11563); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_5_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_5__3__Impl"


    // $ANTLR start "rule__Window__Group_6__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5876:1: rule__Window__Group_6__0 : rule__Window__Group_6__0__Impl rule__Window__Group_6__1 ;
    public final void rule__Window__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5880:1: ( rule__Window__Group_6__0__Impl rule__Window__Group_6__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5881:2: rule__Window__Group_6__0__Impl rule__Window__Group_6__1
            {
            pushFollow(FOLLOW_rule__Window__Group_6__0__Impl_in_rule__Window__Group_6__011602);
            rule__Window__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_6__1_in_rule__Window__Group_6__011605);
            rule__Window__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__0"


    // $ANTLR start "rule__Window__Group_6__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5888:1: rule__Window__Group_6__0__Impl : ( 'height' ) ;
    public final void rule__Window__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5892:1: ( ( 'height' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5893:1: ( 'height' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5893:1: ( 'height' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5894:1: 'height'
            {
             before(grammarAccess.getWindowAccess().getHeightKeyword_6_0()); 
            match(input,20,FOLLOW_20_in_rule__Window__Group_6__0__Impl11633); 
             after(grammarAccess.getWindowAccess().getHeightKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__0__Impl"


    // $ANTLR start "rule__Window__Group_6__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5907:1: rule__Window__Group_6__1 : rule__Window__Group_6__1__Impl rule__Window__Group_6__2 ;
    public final void rule__Window__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5911:1: ( rule__Window__Group_6__1__Impl rule__Window__Group_6__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5912:2: rule__Window__Group_6__1__Impl rule__Window__Group_6__2
            {
            pushFollow(FOLLOW_rule__Window__Group_6__1__Impl_in_rule__Window__Group_6__111664);
            rule__Window__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_6__2_in_rule__Window__Group_6__111667);
            rule__Window__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__1"


    // $ANTLR start "rule__Window__Group_6__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5919:1: rule__Window__Group_6__1__Impl : ( ':' ) ;
    public final void rule__Window__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5923:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5924:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5924:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5925:1: ':'
            {
             before(grammarAccess.getWindowAccess().getColonKeyword_6_1()); 
            match(input,18,FOLLOW_18_in_rule__Window__Group_6__1__Impl11695); 
             after(grammarAccess.getWindowAccess().getColonKeyword_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__1__Impl"


    // $ANTLR start "rule__Window__Group_6__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5938:1: rule__Window__Group_6__2 : rule__Window__Group_6__2__Impl rule__Window__Group_6__3 ;
    public final void rule__Window__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5942:1: ( rule__Window__Group_6__2__Impl rule__Window__Group_6__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5943:2: rule__Window__Group_6__2__Impl rule__Window__Group_6__3
            {
            pushFollow(FOLLOW_rule__Window__Group_6__2__Impl_in_rule__Window__Group_6__211726);
            rule__Window__Group_6__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_6__3_in_rule__Window__Group_6__211729);
            rule__Window__Group_6__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__2"


    // $ANTLR start "rule__Window__Group_6__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5950:1: rule__Window__Group_6__2__Impl : ( ( rule__Window__HeightAssignment_6_2 ) ) ;
    public final void rule__Window__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5954:1: ( ( ( rule__Window__HeightAssignment_6_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5955:1: ( ( rule__Window__HeightAssignment_6_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5955:1: ( ( rule__Window__HeightAssignment_6_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5956:1: ( rule__Window__HeightAssignment_6_2 )
            {
             before(grammarAccess.getWindowAccess().getHeightAssignment_6_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5957:1: ( rule__Window__HeightAssignment_6_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5957:2: rule__Window__HeightAssignment_6_2
            {
            pushFollow(FOLLOW_rule__Window__HeightAssignment_6_2_in_rule__Window__Group_6__2__Impl11756);
            rule__Window__HeightAssignment_6_2();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getHeightAssignment_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__2__Impl"


    // $ANTLR start "rule__Window__Group_6__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5967:1: rule__Window__Group_6__3 : rule__Window__Group_6__3__Impl ;
    public final void rule__Window__Group_6__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5971:1: ( rule__Window__Group_6__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5972:2: rule__Window__Group_6__3__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_6__3__Impl_in_rule__Window__Group_6__311786);
            rule__Window__Group_6__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__3"


    // $ANTLR start "rule__Window__Group_6__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5978:1: rule__Window__Group_6__3__Impl : ( ';' ) ;
    public final void rule__Window__Group_6__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5982:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5983:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5983:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:5984:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_6_3()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_6__3__Impl11814); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_6_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_6__3__Impl"


    // $ANTLR start "rule__Window__Group_7__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6005:1: rule__Window__Group_7__0 : rule__Window__Group_7__0__Impl rule__Window__Group_7__1 ;
    public final void rule__Window__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6009:1: ( rule__Window__Group_7__0__Impl rule__Window__Group_7__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6010:2: rule__Window__Group_7__0__Impl rule__Window__Group_7__1
            {
            pushFollow(FOLLOW_rule__Window__Group_7__0__Impl_in_rule__Window__Group_7__011853);
            rule__Window__Group_7__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_7__1_in_rule__Window__Group_7__011856);
            rule__Window__Group_7__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__0"


    // $ANTLR start "rule__Window__Group_7__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6017:1: rule__Window__Group_7__0__Impl : ( 'heightAboveGround' ) ;
    public final void rule__Window__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6021:1: ( ( 'heightAboveGround' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6022:1: ( 'heightAboveGround' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6022:1: ( 'heightAboveGround' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6023:1: 'heightAboveGround'
            {
             before(grammarAccess.getWindowAccess().getHeightAboveGroundKeyword_7_0()); 
            match(input,38,FOLLOW_38_in_rule__Window__Group_7__0__Impl11884); 
             after(grammarAccess.getWindowAccess().getHeightAboveGroundKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__0__Impl"


    // $ANTLR start "rule__Window__Group_7__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6036:1: rule__Window__Group_7__1 : rule__Window__Group_7__1__Impl rule__Window__Group_7__2 ;
    public final void rule__Window__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6040:1: ( rule__Window__Group_7__1__Impl rule__Window__Group_7__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6041:2: rule__Window__Group_7__1__Impl rule__Window__Group_7__2
            {
            pushFollow(FOLLOW_rule__Window__Group_7__1__Impl_in_rule__Window__Group_7__111915);
            rule__Window__Group_7__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_7__2_in_rule__Window__Group_7__111918);
            rule__Window__Group_7__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__1"


    // $ANTLR start "rule__Window__Group_7__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6048:1: rule__Window__Group_7__1__Impl : ( ':' ) ;
    public final void rule__Window__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6052:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6053:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6053:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6054:1: ':'
            {
             before(grammarAccess.getWindowAccess().getColonKeyword_7_1()); 
            match(input,18,FOLLOW_18_in_rule__Window__Group_7__1__Impl11946); 
             after(grammarAccess.getWindowAccess().getColonKeyword_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__1__Impl"


    // $ANTLR start "rule__Window__Group_7__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6067:1: rule__Window__Group_7__2 : rule__Window__Group_7__2__Impl rule__Window__Group_7__3 ;
    public final void rule__Window__Group_7__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6071:1: ( rule__Window__Group_7__2__Impl rule__Window__Group_7__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6072:2: rule__Window__Group_7__2__Impl rule__Window__Group_7__3
            {
            pushFollow(FOLLOW_rule__Window__Group_7__2__Impl_in_rule__Window__Group_7__211977);
            rule__Window__Group_7__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_7__3_in_rule__Window__Group_7__211980);
            rule__Window__Group_7__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__2"


    // $ANTLR start "rule__Window__Group_7__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6079:1: rule__Window__Group_7__2__Impl : ( ( rule__Window__HeightAboveGroundAssignment_7_2 ) ) ;
    public final void rule__Window__Group_7__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6083:1: ( ( ( rule__Window__HeightAboveGroundAssignment_7_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6084:1: ( ( rule__Window__HeightAboveGroundAssignment_7_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6084:1: ( ( rule__Window__HeightAboveGroundAssignment_7_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6085:1: ( rule__Window__HeightAboveGroundAssignment_7_2 )
            {
             before(grammarAccess.getWindowAccess().getHeightAboveGroundAssignment_7_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6086:1: ( rule__Window__HeightAboveGroundAssignment_7_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6086:2: rule__Window__HeightAboveGroundAssignment_7_2
            {
            pushFollow(FOLLOW_rule__Window__HeightAboveGroundAssignment_7_2_in_rule__Window__Group_7__2__Impl12007);
            rule__Window__HeightAboveGroundAssignment_7_2();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getHeightAboveGroundAssignment_7_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__2__Impl"


    // $ANTLR start "rule__Window__Group_7__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6096:1: rule__Window__Group_7__3 : rule__Window__Group_7__3__Impl ;
    public final void rule__Window__Group_7__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6100:1: ( rule__Window__Group_7__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6101:2: rule__Window__Group_7__3__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_7__3__Impl_in_rule__Window__Group_7__312037);
            rule__Window__Group_7__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__3"


    // $ANTLR start "rule__Window__Group_7__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6107:1: rule__Window__Group_7__3__Impl : ( ';' ) ;
    public final void rule__Window__Group_7__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6111:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6112:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6112:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6113:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_7_3()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_7__3__Impl12065); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_7_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_7__3__Impl"


    // $ANTLR start "rule__Window__Group_8__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6134:1: rule__Window__Group_8__0 : rule__Window__Group_8__0__Impl rule__Window__Group_8__1 ;
    public final void rule__Window__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6138:1: ( rule__Window__Group_8__0__Impl rule__Window__Group_8__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6139:2: rule__Window__Group_8__0__Impl rule__Window__Group_8__1
            {
            pushFollow(FOLLOW_rule__Window__Group_8__0__Impl_in_rule__Window__Group_8__012104);
            rule__Window__Group_8__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_8__1_in_rule__Window__Group_8__012107);
            rule__Window__Group_8__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__0"


    // $ANTLR start "rule__Window__Group_8__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6146:1: rule__Window__Group_8__0__Impl : ( 'texture' ) ;
    public final void rule__Window__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6150:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6151:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6151:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6152:1: 'texture'
            {
             before(grammarAccess.getWindowAccess().getTextureKeyword_8_0()); 
            match(input,21,FOLLOW_21_in_rule__Window__Group_8__0__Impl12135); 
             after(grammarAccess.getWindowAccess().getTextureKeyword_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__0__Impl"


    // $ANTLR start "rule__Window__Group_8__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6165:1: rule__Window__Group_8__1 : rule__Window__Group_8__1__Impl rule__Window__Group_8__2 ;
    public final void rule__Window__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6169:1: ( rule__Window__Group_8__1__Impl rule__Window__Group_8__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6170:2: rule__Window__Group_8__1__Impl rule__Window__Group_8__2
            {
            pushFollow(FOLLOW_rule__Window__Group_8__1__Impl_in_rule__Window__Group_8__112166);
            rule__Window__Group_8__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_8__2_in_rule__Window__Group_8__112169);
            rule__Window__Group_8__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__1"


    // $ANTLR start "rule__Window__Group_8__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6177:1: rule__Window__Group_8__1__Impl : ( ':' ) ;
    public final void rule__Window__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6181:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6182:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6182:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6183:1: ':'
            {
             before(grammarAccess.getWindowAccess().getColonKeyword_8_1()); 
            match(input,18,FOLLOW_18_in_rule__Window__Group_8__1__Impl12197); 
             after(grammarAccess.getWindowAccess().getColonKeyword_8_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__1__Impl"


    // $ANTLR start "rule__Window__Group_8__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6196:1: rule__Window__Group_8__2 : rule__Window__Group_8__2__Impl rule__Window__Group_8__3 ;
    public final void rule__Window__Group_8__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6200:1: ( rule__Window__Group_8__2__Impl rule__Window__Group_8__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6201:2: rule__Window__Group_8__2__Impl rule__Window__Group_8__3
            {
            pushFollow(FOLLOW_rule__Window__Group_8__2__Impl_in_rule__Window__Group_8__212228);
            rule__Window__Group_8__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_8__3_in_rule__Window__Group_8__212231);
            rule__Window__Group_8__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__2"


    // $ANTLR start "rule__Window__Group_8__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6208:1: rule__Window__Group_8__2__Impl : ( ( rule__Window__TextureAssignment_8_2 ) ) ;
    public final void rule__Window__Group_8__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6212:1: ( ( ( rule__Window__TextureAssignment_8_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6213:1: ( ( rule__Window__TextureAssignment_8_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6213:1: ( ( rule__Window__TextureAssignment_8_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6214:1: ( rule__Window__TextureAssignment_8_2 )
            {
             before(grammarAccess.getWindowAccess().getTextureAssignment_8_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6215:1: ( rule__Window__TextureAssignment_8_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6215:2: rule__Window__TextureAssignment_8_2
            {
            pushFollow(FOLLOW_rule__Window__TextureAssignment_8_2_in_rule__Window__Group_8__2__Impl12258);
            rule__Window__TextureAssignment_8_2();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getTextureAssignment_8_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__2__Impl"


    // $ANTLR start "rule__Window__Group_8__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6225:1: rule__Window__Group_8__3 : rule__Window__Group_8__3__Impl ;
    public final void rule__Window__Group_8__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6229:1: ( rule__Window__Group_8__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6230:2: rule__Window__Group_8__3__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_8__3__Impl_in_rule__Window__Group_8__312288);
            rule__Window__Group_8__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__3"


    // $ANTLR start "rule__Window__Group_8__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6236:1: rule__Window__Group_8__3__Impl : ( ';' ) ;
    public final void rule__Window__Group_8__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6240:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6241:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6241:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6242:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_8_3()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_8__3__Impl12316); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_8_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_8__3__Impl"


    // $ANTLR start "rule__Window__Group_9__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6263:1: rule__Window__Group_9__0 : rule__Window__Group_9__0__Impl rule__Window__Group_9__1 ;
    public final void rule__Window__Group_9__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6267:1: ( rule__Window__Group_9__0__Impl rule__Window__Group_9__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6268:2: rule__Window__Group_9__0__Impl rule__Window__Group_9__1
            {
            pushFollow(FOLLOW_rule__Window__Group_9__0__Impl_in_rule__Window__Group_9__012355);
            rule__Window__Group_9__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Window__Group_9__1_in_rule__Window__Group_9__012358);
            rule__Window__Group_9__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_9__0"


    // $ANTLR start "rule__Window__Group_9__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6275:1: rule__Window__Group_9__0__Impl : ( ( rule__Window__MarginAssignment_9_0 ) ) ;
    public final void rule__Window__Group_9__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6279:1: ( ( ( rule__Window__MarginAssignment_9_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6280:1: ( ( rule__Window__MarginAssignment_9_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6280:1: ( ( rule__Window__MarginAssignment_9_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6281:1: ( rule__Window__MarginAssignment_9_0 )
            {
             before(grammarAccess.getWindowAccess().getMarginAssignment_9_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6282:1: ( rule__Window__MarginAssignment_9_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6282:2: rule__Window__MarginAssignment_9_0
            {
            pushFollow(FOLLOW_rule__Window__MarginAssignment_9_0_in_rule__Window__Group_9__0__Impl12385);
            rule__Window__MarginAssignment_9_0();

            state._fsp--;


            }

             after(grammarAccess.getWindowAccess().getMarginAssignment_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_9__0__Impl"


    // $ANTLR start "rule__Window__Group_9__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6292:1: rule__Window__Group_9__1 : rule__Window__Group_9__1__Impl ;
    public final void rule__Window__Group_9__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6296:1: ( rule__Window__Group_9__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6297:2: rule__Window__Group_9__1__Impl
            {
            pushFollow(FOLLOW_rule__Window__Group_9__1__Impl_in_rule__Window__Group_9__112415);
            rule__Window__Group_9__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_9__1"


    // $ANTLR start "rule__Window__Group_9__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6303:1: rule__Window__Group_9__1__Impl : ( ';' ) ;
    public final void rule__Window__Group_9__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6307:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6308:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6308:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6309:1: ';'
            {
             before(grammarAccess.getWindowAccess().getSemicolonKeyword_9_1()); 
            match(input,16,FOLLOW_16_in_rule__Window__Group_9__1__Impl12443); 
             after(grammarAccess.getWindowAccess().getSemicolonKeyword_9_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__Group_9__1__Impl"


    // $ANTLR start "rule__Margin__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6326:1: rule__Margin__Group__0 : rule__Margin__Group__0__Impl rule__Margin__Group__1 ;
    public final void rule__Margin__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6330:1: ( rule__Margin__Group__0__Impl rule__Margin__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6331:2: rule__Margin__Group__0__Impl rule__Margin__Group__1
            {
            pushFollow(FOLLOW_rule__Margin__Group__0__Impl_in_rule__Margin__Group__012478);
            rule__Margin__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__1_in_rule__Margin__Group__012481);
            rule__Margin__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__0"


    // $ANTLR start "rule__Margin__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6338:1: rule__Margin__Group__0__Impl : ( 'margin' ) ;
    public final void rule__Margin__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6342:1: ( ( 'margin' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6343:1: ( 'margin' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6343:1: ( 'margin' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6344:1: 'margin'
            {
             before(grammarAccess.getMarginAccess().getMarginKeyword_0()); 
            match(input,39,FOLLOW_39_in_rule__Margin__Group__0__Impl12509); 
             after(grammarAccess.getMarginAccess().getMarginKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__0__Impl"


    // $ANTLR start "rule__Margin__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6357:1: rule__Margin__Group__1 : rule__Margin__Group__1__Impl rule__Margin__Group__2 ;
    public final void rule__Margin__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6361:1: ( rule__Margin__Group__1__Impl rule__Margin__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6362:2: rule__Margin__Group__1__Impl rule__Margin__Group__2
            {
            pushFollow(FOLLOW_rule__Margin__Group__1__Impl_in_rule__Margin__Group__112540);
            rule__Margin__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__2_in_rule__Margin__Group__112543);
            rule__Margin__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__1"


    // $ANTLR start "rule__Margin__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6369:1: rule__Margin__Group__1__Impl : ( ( rule__Margin__NameAssignment_1 ) ) ;
    public final void rule__Margin__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6373:1: ( ( ( rule__Margin__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6374:1: ( ( rule__Margin__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6374:1: ( ( rule__Margin__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6375:1: ( rule__Margin__NameAssignment_1 )
            {
             before(grammarAccess.getMarginAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6376:1: ( rule__Margin__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6376:2: rule__Margin__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Margin__NameAssignment_1_in_rule__Margin__Group__1__Impl12570);
            rule__Margin__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getMarginAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__1__Impl"


    // $ANTLR start "rule__Margin__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6386:1: rule__Margin__Group__2 : rule__Margin__Group__2__Impl rule__Margin__Group__3 ;
    public final void rule__Margin__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6390:1: ( rule__Margin__Group__2__Impl rule__Margin__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6391:2: rule__Margin__Group__2__Impl rule__Margin__Group__3
            {
            pushFollow(FOLLOW_rule__Margin__Group__2__Impl_in_rule__Margin__Group__212600);
            rule__Margin__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__3_in_rule__Margin__Group__212603);
            rule__Margin__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__2"


    // $ANTLR start "rule__Margin__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6398:1: rule__Margin__Group__2__Impl : ( '{' ) ;
    public final void rule__Margin__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6402:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6403:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6403:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6404:1: '{'
            {
             before(grammarAccess.getMarginAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Margin__Group__2__Impl12631); 
             after(grammarAccess.getMarginAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__2__Impl"


    // $ANTLR start "rule__Margin__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6417:1: rule__Margin__Group__3 : rule__Margin__Group__3__Impl rule__Margin__Group__4 ;
    public final void rule__Margin__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6421:1: ( rule__Margin__Group__3__Impl rule__Margin__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6422:2: rule__Margin__Group__3__Impl rule__Margin__Group__4
            {
            pushFollow(FOLLOW_rule__Margin__Group__3__Impl_in_rule__Margin__Group__312662);
            rule__Margin__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__4_in_rule__Margin__Group__312665);
            rule__Margin__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__3"


    // $ANTLR start "rule__Margin__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6429:1: rule__Margin__Group__3__Impl : ( 'value' ) ;
    public final void rule__Margin__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6433:1: ( ( 'value' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6434:1: ( 'value' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6434:1: ( 'value' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6435:1: 'value'
            {
             before(grammarAccess.getMarginAccess().getValueKeyword_3()); 
            match(input,40,FOLLOW_40_in_rule__Margin__Group__3__Impl12693); 
             after(grammarAccess.getMarginAccess().getValueKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__3__Impl"


    // $ANTLR start "rule__Margin__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6448:1: rule__Margin__Group__4 : rule__Margin__Group__4__Impl rule__Margin__Group__5 ;
    public final void rule__Margin__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6452:1: ( rule__Margin__Group__4__Impl rule__Margin__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6453:2: rule__Margin__Group__4__Impl rule__Margin__Group__5
            {
            pushFollow(FOLLOW_rule__Margin__Group__4__Impl_in_rule__Margin__Group__412724);
            rule__Margin__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__5_in_rule__Margin__Group__412727);
            rule__Margin__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__4"


    // $ANTLR start "rule__Margin__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6460:1: rule__Margin__Group__4__Impl : ( ':' ) ;
    public final void rule__Margin__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6464:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6465:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6465:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6466:1: ':'
            {
             before(grammarAccess.getMarginAccess().getColonKeyword_4()); 
            match(input,18,FOLLOW_18_in_rule__Margin__Group__4__Impl12755); 
             after(grammarAccess.getMarginAccess().getColonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__4__Impl"


    // $ANTLR start "rule__Margin__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6479:1: rule__Margin__Group__5 : rule__Margin__Group__5__Impl rule__Margin__Group__6 ;
    public final void rule__Margin__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6483:1: ( rule__Margin__Group__5__Impl rule__Margin__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6484:2: rule__Margin__Group__5__Impl rule__Margin__Group__6
            {
            pushFollow(FOLLOW_rule__Margin__Group__5__Impl_in_rule__Margin__Group__512786);
            rule__Margin__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__6_in_rule__Margin__Group__512789);
            rule__Margin__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__5"


    // $ANTLR start "rule__Margin__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6491:1: rule__Margin__Group__5__Impl : ( ( rule__Margin__ValueAssignment_5 ) ) ;
    public final void rule__Margin__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6495:1: ( ( ( rule__Margin__ValueAssignment_5 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6496:1: ( ( rule__Margin__ValueAssignment_5 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6496:1: ( ( rule__Margin__ValueAssignment_5 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6497:1: ( rule__Margin__ValueAssignment_5 )
            {
             before(grammarAccess.getMarginAccess().getValueAssignment_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6498:1: ( rule__Margin__ValueAssignment_5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6498:2: rule__Margin__ValueAssignment_5
            {
            pushFollow(FOLLOW_rule__Margin__ValueAssignment_5_in_rule__Margin__Group__5__Impl12816);
            rule__Margin__ValueAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getMarginAccess().getValueAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__5__Impl"


    // $ANTLR start "rule__Margin__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6508:1: rule__Margin__Group__6 : rule__Margin__Group__6__Impl rule__Margin__Group__7 ;
    public final void rule__Margin__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6512:1: ( rule__Margin__Group__6__Impl rule__Margin__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6513:2: rule__Margin__Group__6__Impl rule__Margin__Group__7
            {
            pushFollow(FOLLOW_rule__Margin__Group__6__Impl_in_rule__Margin__Group__612846);
            rule__Margin__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__7_in_rule__Margin__Group__612849);
            rule__Margin__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__6"


    // $ANTLR start "rule__Margin__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6520:1: rule__Margin__Group__6__Impl : ( ';' ) ;
    public final void rule__Margin__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6524:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6525:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6525:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6526:1: ';'
            {
             before(grammarAccess.getMarginAccess().getSemicolonKeyword_6()); 
            match(input,16,FOLLOW_16_in_rule__Margin__Group__6__Impl12877); 
             after(grammarAccess.getMarginAccess().getSemicolonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__6__Impl"


    // $ANTLR start "rule__Margin__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6539:1: rule__Margin__Group__7 : rule__Margin__Group__7__Impl rule__Margin__Group__8 ;
    public final void rule__Margin__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6543:1: ( rule__Margin__Group__7__Impl rule__Margin__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6544:2: rule__Margin__Group__7__Impl rule__Margin__Group__8
            {
            pushFollow(FOLLOW_rule__Margin__Group__7__Impl_in_rule__Margin__Group__712908);
            rule__Margin__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group__8_in_rule__Margin__Group__712911);
            rule__Margin__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__7"


    // $ANTLR start "rule__Margin__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6551:1: rule__Margin__Group__7__Impl : ( ( rule__Margin__Group_7__0 )? ) ;
    public final void rule__Margin__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6555:1: ( ( ( rule__Margin__Group_7__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6556:1: ( ( rule__Margin__Group_7__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6556:1: ( ( rule__Margin__Group_7__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6557:1: ( rule__Margin__Group_7__0 )?
            {
             before(grammarAccess.getMarginAccess().getGroup_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6558:1: ( rule__Margin__Group_7__0 )?
            int alt36=2;
            int LA36_0 = input.LA(1);

            if ( (LA36_0==21) ) {
                alt36=1;
            }
            switch (alt36) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6558:2: rule__Margin__Group_7__0
                    {
                    pushFollow(FOLLOW_rule__Margin__Group_7__0_in_rule__Margin__Group__7__Impl12938);
                    rule__Margin__Group_7__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMarginAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__7__Impl"


    // $ANTLR start "rule__Margin__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6568:1: rule__Margin__Group__8 : rule__Margin__Group__8__Impl ;
    public final void rule__Margin__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6572:1: ( rule__Margin__Group__8__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6573:2: rule__Margin__Group__8__Impl
            {
            pushFollow(FOLLOW_rule__Margin__Group__8__Impl_in_rule__Margin__Group__812969);
            rule__Margin__Group__8__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__8"


    // $ANTLR start "rule__Margin__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6579:1: rule__Margin__Group__8__Impl : ( '}' ) ;
    public final void rule__Margin__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6583:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6584:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6584:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6585:1: '}'
            {
             before(grammarAccess.getMarginAccess().getRightCurlyBracketKeyword_8()); 
            match(input,13,FOLLOW_13_in_rule__Margin__Group__8__Impl12997); 
             after(grammarAccess.getMarginAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group__8__Impl"


    // $ANTLR start "rule__Margin__Group_7__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6616:1: rule__Margin__Group_7__0 : rule__Margin__Group_7__0__Impl rule__Margin__Group_7__1 ;
    public final void rule__Margin__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6620:1: ( rule__Margin__Group_7__0__Impl rule__Margin__Group_7__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6621:2: rule__Margin__Group_7__0__Impl rule__Margin__Group_7__1
            {
            pushFollow(FOLLOW_rule__Margin__Group_7__0__Impl_in_rule__Margin__Group_7__013046);
            rule__Margin__Group_7__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group_7__1_in_rule__Margin__Group_7__013049);
            rule__Margin__Group_7__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__0"


    // $ANTLR start "rule__Margin__Group_7__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6628:1: rule__Margin__Group_7__0__Impl : ( 'texture' ) ;
    public final void rule__Margin__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6632:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6633:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6633:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6634:1: 'texture'
            {
             before(grammarAccess.getMarginAccess().getTextureKeyword_7_0()); 
            match(input,21,FOLLOW_21_in_rule__Margin__Group_7__0__Impl13077); 
             after(grammarAccess.getMarginAccess().getTextureKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__0__Impl"


    // $ANTLR start "rule__Margin__Group_7__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6647:1: rule__Margin__Group_7__1 : rule__Margin__Group_7__1__Impl rule__Margin__Group_7__2 ;
    public final void rule__Margin__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6651:1: ( rule__Margin__Group_7__1__Impl rule__Margin__Group_7__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6652:2: rule__Margin__Group_7__1__Impl rule__Margin__Group_7__2
            {
            pushFollow(FOLLOW_rule__Margin__Group_7__1__Impl_in_rule__Margin__Group_7__113108);
            rule__Margin__Group_7__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group_7__2_in_rule__Margin__Group_7__113111);
            rule__Margin__Group_7__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__1"


    // $ANTLR start "rule__Margin__Group_7__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6659:1: rule__Margin__Group_7__1__Impl : ( ':' ) ;
    public final void rule__Margin__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6663:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6664:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6664:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6665:1: ':'
            {
             before(grammarAccess.getMarginAccess().getColonKeyword_7_1()); 
            match(input,18,FOLLOW_18_in_rule__Margin__Group_7__1__Impl13139); 
             after(grammarAccess.getMarginAccess().getColonKeyword_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__1__Impl"


    // $ANTLR start "rule__Margin__Group_7__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6678:1: rule__Margin__Group_7__2 : rule__Margin__Group_7__2__Impl rule__Margin__Group_7__3 ;
    public final void rule__Margin__Group_7__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6682:1: ( rule__Margin__Group_7__2__Impl rule__Margin__Group_7__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6683:2: rule__Margin__Group_7__2__Impl rule__Margin__Group_7__3
            {
            pushFollow(FOLLOW_rule__Margin__Group_7__2__Impl_in_rule__Margin__Group_7__213170);
            rule__Margin__Group_7__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Margin__Group_7__3_in_rule__Margin__Group_7__213173);
            rule__Margin__Group_7__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__2"


    // $ANTLR start "rule__Margin__Group_7__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6690:1: rule__Margin__Group_7__2__Impl : ( ( rule__Margin__TextureAssignment_7_2 ) ) ;
    public final void rule__Margin__Group_7__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6694:1: ( ( ( rule__Margin__TextureAssignment_7_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6695:1: ( ( rule__Margin__TextureAssignment_7_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6695:1: ( ( rule__Margin__TextureAssignment_7_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6696:1: ( rule__Margin__TextureAssignment_7_2 )
            {
             before(grammarAccess.getMarginAccess().getTextureAssignment_7_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6697:1: ( rule__Margin__TextureAssignment_7_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6697:2: rule__Margin__TextureAssignment_7_2
            {
            pushFollow(FOLLOW_rule__Margin__TextureAssignment_7_2_in_rule__Margin__Group_7__2__Impl13200);
            rule__Margin__TextureAssignment_7_2();

            state._fsp--;


            }

             after(grammarAccess.getMarginAccess().getTextureAssignment_7_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__2__Impl"


    // $ANTLR start "rule__Margin__Group_7__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6707:1: rule__Margin__Group_7__3 : rule__Margin__Group_7__3__Impl ;
    public final void rule__Margin__Group_7__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6711:1: ( rule__Margin__Group_7__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6712:2: rule__Margin__Group_7__3__Impl
            {
            pushFollow(FOLLOW_rule__Margin__Group_7__3__Impl_in_rule__Margin__Group_7__313230);
            rule__Margin__Group_7__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__3"


    // $ANTLR start "rule__Margin__Group_7__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6718:1: rule__Margin__Group_7__3__Impl : ( ';' ) ;
    public final void rule__Margin__Group_7__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6722:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6723:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6723:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6724:1: ';'
            {
             before(grammarAccess.getMarginAccess().getSemicolonKeyword_7_3()); 
            match(input,16,FOLLOW_16_in_rule__Margin__Group_7__3__Impl13258); 
             after(grammarAccess.getMarginAccess().getSemicolonKeyword_7_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__Group_7__3__Impl"


    // $ANTLR start "rule__Building__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6745:1: rule__Building__Group__0 : rule__Building__Group__0__Impl rule__Building__Group__1 ;
    public final void rule__Building__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6749:1: ( rule__Building__Group__0__Impl rule__Building__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6750:2: rule__Building__Group__0__Impl rule__Building__Group__1
            {
            pushFollow(FOLLOW_rule__Building__Group__0__Impl_in_rule__Building__Group__013297);
            rule__Building__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__1_in_rule__Building__Group__013300);
            rule__Building__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__0"


    // $ANTLR start "rule__Building__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6757:1: rule__Building__Group__0__Impl : ( 'building' ) ;
    public final void rule__Building__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6761:1: ( ( 'building' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6762:1: ( 'building' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6762:1: ( 'building' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6763:1: 'building'
            {
             before(grammarAccess.getBuildingAccess().getBuildingKeyword_0()); 
            match(input,41,FOLLOW_41_in_rule__Building__Group__0__Impl13328); 
             after(grammarAccess.getBuildingAccess().getBuildingKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__0__Impl"


    // $ANTLR start "rule__Building__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6776:1: rule__Building__Group__1 : rule__Building__Group__1__Impl rule__Building__Group__2 ;
    public final void rule__Building__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6780:1: ( rule__Building__Group__1__Impl rule__Building__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6781:2: rule__Building__Group__1__Impl rule__Building__Group__2
            {
            pushFollow(FOLLOW_rule__Building__Group__1__Impl_in_rule__Building__Group__113359);
            rule__Building__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__2_in_rule__Building__Group__113362);
            rule__Building__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__1"


    // $ANTLR start "rule__Building__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6788:1: rule__Building__Group__1__Impl : ( ( rule__Building__NameAssignment_1 ) ) ;
    public final void rule__Building__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6792:1: ( ( ( rule__Building__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6793:1: ( ( rule__Building__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6793:1: ( ( rule__Building__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6794:1: ( rule__Building__NameAssignment_1 )
            {
             before(grammarAccess.getBuildingAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6795:1: ( rule__Building__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6795:2: rule__Building__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Building__NameAssignment_1_in_rule__Building__Group__1__Impl13389);
            rule__Building__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getBuildingAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__1__Impl"


    // $ANTLR start "rule__Building__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6805:1: rule__Building__Group__2 : rule__Building__Group__2__Impl rule__Building__Group__3 ;
    public final void rule__Building__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6809:1: ( rule__Building__Group__2__Impl rule__Building__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6810:2: rule__Building__Group__2__Impl rule__Building__Group__3
            {
            pushFollow(FOLLOW_rule__Building__Group__2__Impl_in_rule__Building__Group__213419);
            rule__Building__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__3_in_rule__Building__Group__213422);
            rule__Building__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__2"


    // $ANTLR start "rule__Building__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6817:1: rule__Building__Group__2__Impl : ( '{' ) ;
    public final void rule__Building__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6821:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6822:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6822:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6823:1: '{'
            {
             before(grammarAccess.getBuildingAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Building__Group__2__Impl13450); 
             after(grammarAccess.getBuildingAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__2__Impl"


    // $ANTLR start "rule__Building__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6836:1: rule__Building__Group__3 : rule__Building__Group__3__Impl rule__Building__Group__4 ;
    public final void rule__Building__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6840:1: ( rule__Building__Group__3__Impl rule__Building__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6841:2: rule__Building__Group__3__Impl rule__Building__Group__4
            {
            pushFollow(FOLLOW_rule__Building__Group__3__Impl_in_rule__Building__Group__313481);
            rule__Building__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__4_in_rule__Building__Group__313484);
            rule__Building__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__3"


    // $ANTLR start "rule__Building__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6848:1: rule__Building__Group__3__Impl : ( ( rule__Building__Group_3__0 )? ) ;
    public final void rule__Building__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6852:1: ( ( ( rule__Building__Group_3__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6853:1: ( ( rule__Building__Group_3__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6853:1: ( ( rule__Building__Group_3__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6854:1: ( rule__Building__Group_3__0 )?
            {
             before(grammarAccess.getBuildingAccess().getGroup_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6855:1: ( rule__Building__Group_3__0 )?
            int alt37=2;
            int LA37_0 = input.LA(1);

            if ( (LA37_0==24) ) {
                alt37=1;
            }
            switch (alt37) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6855:2: rule__Building__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Building__Group_3__0_in_rule__Building__Group__3__Impl13511);
                    rule__Building__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getBuildingAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__3__Impl"


    // $ANTLR start "rule__Building__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6865:1: rule__Building__Group__4 : rule__Building__Group__4__Impl rule__Building__Group__5 ;
    public final void rule__Building__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6869:1: ( rule__Building__Group__4__Impl rule__Building__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6870:2: rule__Building__Group__4__Impl rule__Building__Group__5
            {
            pushFollow(FOLLOW_rule__Building__Group__4__Impl_in_rule__Building__Group__413542);
            rule__Building__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__5_in_rule__Building__Group__413545);
            rule__Building__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__4"


    // $ANTLR start "rule__Building__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6877:1: rule__Building__Group__4__Impl : ( 'prototype' ) ;
    public final void rule__Building__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6881:1: ( ( 'prototype' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6882:1: ( 'prototype' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6882:1: ( 'prototype' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6883:1: 'prototype'
            {
             before(grammarAccess.getBuildingAccess().getPrototypeKeyword_4()); 
            match(input,28,FOLLOW_28_in_rule__Building__Group__4__Impl13573); 
             after(grammarAccess.getBuildingAccess().getPrototypeKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__4__Impl"


    // $ANTLR start "rule__Building__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6896:1: rule__Building__Group__5 : rule__Building__Group__5__Impl rule__Building__Group__6 ;
    public final void rule__Building__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6900:1: ( rule__Building__Group__5__Impl rule__Building__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6901:2: rule__Building__Group__5__Impl rule__Building__Group__6
            {
            pushFollow(FOLLOW_rule__Building__Group__5__Impl_in_rule__Building__Group__513604);
            rule__Building__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__6_in_rule__Building__Group__513607);
            rule__Building__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__5"


    // $ANTLR start "rule__Building__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6908:1: rule__Building__Group__5__Impl : ( ':' ) ;
    public final void rule__Building__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6912:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6913:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6913:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6914:1: ':'
            {
             before(grammarAccess.getBuildingAccess().getColonKeyword_5()); 
            match(input,18,FOLLOW_18_in_rule__Building__Group__5__Impl13635); 
             after(grammarAccess.getBuildingAccess().getColonKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__5__Impl"


    // $ANTLR start "rule__Building__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6927:1: rule__Building__Group__6 : rule__Building__Group__6__Impl rule__Building__Group__7 ;
    public final void rule__Building__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6931:1: ( rule__Building__Group__6__Impl rule__Building__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6932:2: rule__Building__Group__6__Impl rule__Building__Group__7
            {
            pushFollow(FOLLOW_rule__Building__Group__6__Impl_in_rule__Building__Group__613666);
            rule__Building__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__7_in_rule__Building__Group__613669);
            rule__Building__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__6"


    // $ANTLR start "rule__Building__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6939:1: rule__Building__Group__6__Impl : ( ( rule__Building__PrototypeAssignment_6 ) ) ;
    public final void rule__Building__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6943:1: ( ( ( rule__Building__PrototypeAssignment_6 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6944:1: ( ( rule__Building__PrototypeAssignment_6 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6944:1: ( ( rule__Building__PrototypeAssignment_6 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6945:1: ( rule__Building__PrototypeAssignment_6 )
            {
             before(grammarAccess.getBuildingAccess().getPrototypeAssignment_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6946:1: ( rule__Building__PrototypeAssignment_6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6946:2: rule__Building__PrototypeAssignment_6
            {
            pushFollow(FOLLOW_rule__Building__PrototypeAssignment_6_in_rule__Building__Group__6__Impl13696);
            rule__Building__PrototypeAssignment_6();

            state._fsp--;


            }

             after(grammarAccess.getBuildingAccess().getPrototypeAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__6__Impl"


    // $ANTLR start "rule__Building__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6956:1: rule__Building__Group__7 : rule__Building__Group__7__Impl rule__Building__Group__8 ;
    public final void rule__Building__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6960:1: ( rule__Building__Group__7__Impl rule__Building__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6961:2: rule__Building__Group__7__Impl rule__Building__Group__8
            {
            pushFollow(FOLLOW_rule__Building__Group__7__Impl_in_rule__Building__Group__713726);
            rule__Building__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group__8_in_rule__Building__Group__713729);
            rule__Building__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__7"


    // $ANTLR start "rule__Building__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6968:1: rule__Building__Group__7__Impl : ( ';' ) ;
    public final void rule__Building__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6972:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6973:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6973:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6974:1: ';'
            {
             before(grammarAccess.getBuildingAccess().getSemicolonKeyword_7()); 
            match(input,16,FOLLOW_16_in_rule__Building__Group__7__Impl13757); 
             after(grammarAccess.getBuildingAccess().getSemicolonKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__7__Impl"


    // $ANTLR start "rule__Building__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6987:1: rule__Building__Group__8 : rule__Building__Group__8__Impl ;
    public final void rule__Building__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6991:1: ( rule__Building__Group__8__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6992:2: rule__Building__Group__8__Impl
            {
            pushFollow(FOLLOW_rule__Building__Group__8__Impl_in_rule__Building__Group__813788);
            rule__Building__Group__8__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__8"


    // $ANTLR start "rule__Building__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:6998:1: rule__Building__Group__8__Impl : ( '}' ) ;
    public final void rule__Building__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7002:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7003:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7003:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7004:1: '}'
            {
             before(grammarAccess.getBuildingAccess().getRightCurlyBracketKeyword_8()); 
            match(input,13,FOLLOW_13_in_rule__Building__Group__8__Impl13816); 
             after(grammarAccess.getBuildingAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group__8__Impl"


    // $ANTLR start "rule__Building__Group_3__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7035:1: rule__Building__Group_3__0 : rule__Building__Group_3__0__Impl rule__Building__Group_3__1 ;
    public final void rule__Building__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7039:1: ( rule__Building__Group_3__0__Impl rule__Building__Group_3__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7040:2: rule__Building__Group_3__0__Impl rule__Building__Group_3__1
            {
            pushFollow(FOLLOW_rule__Building__Group_3__0__Impl_in_rule__Building__Group_3__013865);
            rule__Building__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Building__Group_3__1_in_rule__Building__Group_3__013868);
            rule__Building__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group_3__0"


    // $ANTLR start "rule__Building__Group_3__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7047:1: rule__Building__Group_3__0__Impl : ( ( rule__Building__TranslationAssignment_3_0 ) ) ;
    public final void rule__Building__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7051:1: ( ( ( rule__Building__TranslationAssignment_3_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7052:1: ( ( rule__Building__TranslationAssignment_3_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7052:1: ( ( rule__Building__TranslationAssignment_3_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7053:1: ( rule__Building__TranslationAssignment_3_0 )
            {
             before(grammarAccess.getBuildingAccess().getTranslationAssignment_3_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7054:1: ( rule__Building__TranslationAssignment_3_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7054:2: rule__Building__TranslationAssignment_3_0
            {
            pushFollow(FOLLOW_rule__Building__TranslationAssignment_3_0_in_rule__Building__Group_3__0__Impl13895);
            rule__Building__TranslationAssignment_3_0();

            state._fsp--;


            }

             after(grammarAccess.getBuildingAccess().getTranslationAssignment_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group_3__0__Impl"


    // $ANTLR start "rule__Building__Group_3__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7064:1: rule__Building__Group_3__1 : rule__Building__Group_3__1__Impl ;
    public final void rule__Building__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7068:1: ( rule__Building__Group_3__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7069:2: rule__Building__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Building__Group_3__1__Impl_in_rule__Building__Group_3__113925);
            rule__Building__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group_3__1"


    // $ANTLR start "rule__Building__Group_3__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7075:1: rule__Building__Group_3__1__Impl : ( ';' ) ;
    public final void rule__Building__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7079:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7080:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7080:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7081:1: ';'
            {
             before(grammarAccess.getBuildingAccess().getSemicolonKeyword_3_1()); 
            match(input,16,FOLLOW_16_in_rule__Building__Group_3__1__Impl13953); 
             after(grammarAccess.getBuildingAccess().getSemicolonKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__Group_3__1__Impl"


    // $ANTLR start "rule__Circle__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7098:1: rule__Circle__Group__0 : rule__Circle__Group__0__Impl rule__Circle__Group__1 ;
    public final void rule__Circle__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7102:1: ( rule__Circle__Group__0__Impl rule__Circle__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7103:2: rule__Circle__Group__0__Impl rule__Circle__Group__1
            {
            pushFollow(FOLLOW_rule__Circle__Group__0__Impl_in_rule__Circle__Group__013988);
            rule__Circle__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__1_in_rule__Circle__Group__013991);
            rule__Circle__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__0"


    // $ANTLR start "rule__Circle__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7110:1: rule__Circle__Group__0__Impl : ( 'circle' ) ;
    public final void rule__Circle__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7114:1: ( ( 'circle' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7115:1: ( 'circle' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7115:1: ( 'circle' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7116:1: 'circle'
            {
             before(grammarAccess.getCircleAccess().getCircleKeyword_0()); 
            match(input,42,FOLLOW_42_in_rule__Circle__Group__0__Impl14019); 
             after(grammarAccess.getCircleAccess().getCircleKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__0__Impl"


    // $ANTLR start "rule__Circle__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7129:1: rule__Circle__Group__1 : rule__Circle__Group__1__Impl rule__Circle__Group__2 ;
    public final void rule__Circle__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7133:1: ( rule__Circle__Group__1__Impl rule__Circle__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7134:2: rule__Circle__Group__1__Impl rule__Circle__Group__2
            {
            pushFollow(FOLLOW_rule__Circle__Group__1__Impl_in_rule__Circle__Group__114050);
            rule__Circle__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__2_in_rule__Circle__Group__114053);
            rule__Circle__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__1"


    // $ANTLR start "rule__Circle__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7141:1: rule__Circle__Group__1__Impl : ( ( rule__Circle__NameAssignment_1 ) ) ;
    public final void rule__Circle__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7145:1: ( ( ( rule__Circle__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7146:1: ( ( rule__Circle__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7146:1: ( ( rule__Circle__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7147:1: ( rule__Circle__NameAssignment_1 )
            {
             before(grammarAccess.getCircleAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7148:1: ( rule__Circle__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7148:2: rule__Circle__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Circle__NameAssignment_1_in_rule__Circle__Group__1__Impl14080);
            rule__Circle__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__1__Impl"


    // $ANTLR start "rule__Circle__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7158:1: rule__Circle__Group__2 : rule__Circle__Group__2__Impl rule__Circle__Group__3 ;
    public final void rule__Circle__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7162:1: ( rule__Circle__Group__2__Impl rule__Circle__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7163:2: rule__Circle__Group__2__Impl rule__Circle__Group__3
            {
            pushFollow(FOLLOW_rule__Circle__Group__2__Impl_in_rule__Circle__Group__214110);
            rule__Circle__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__3_in_rule__Circle__Group__214113);
            rule__Circle__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__2"


    // $ANTLR start "rule__Circle__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7170:1: rule__Circle__Group__2__Impl : ( '{' ) ;
    public final void rule__Circle__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7174:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7175:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7175:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7176:1: '{'
            {
             before(grammarAccess.getCircleAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Circle__Group__2__Impl14141); 
             after(grammarAccess.getCircleAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__2__Impl"


    // $ANTLR start "rule__Circle__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7189:1: rule__Circle__Group__3 : rule__Circle__Group__3__Impl rule__Circle__Group__4 ;
    public final void rule__Circle__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7193:1: ( rule__Circle__Group__3__Impl rule__Circle__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7194:2: rule__Circle__Group__3__Impl rule__Circle__Group__4
            {
            pushFollow(FOLLOW_rule__Circle__Group__3__Impl_in_rule__Circle__Group__314172);
            rule__Circle__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__4_in_rule__Circle__Group__314175);
            rule__Circle__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__3"


    // $ANTLR start "rule__Circle__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7201:1: rule__Circle__Group__3__Impl : ( ( rule__Circle__TranslationAssignment_3 ) ) ;
    public final void rule__Circle__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7205:1: ( ( ( rule__Circle__TranslationAssignment_3 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7206:1: ( ( rule__Circle__TranslationAssignment_3 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7206:1: ( ( rule__Circle__TranslationAssignment_3 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7207:1: ( rule__Circle__TranslationAssignment_3 )
            {
             before(grammarAccess.getCircleAccess().getTranslationAssignment_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7208:1: ( rule__Circle__TranslationAssignment_3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7208:2: rule__Circle__TranslationAssignment_3
            {
            pushFollow(FOLLOW_rule__Circle__TranslationAssignment_3_in_rule__Circle__Group__3__Impl14202);
            rule__Circle__TranslationAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getTranslationAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__3__Impl"


    // $ANTLR start "rule__Circle__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7218:1: rule__Circle__Group__4 : rule__Circle__Group__4__Impl rule__Circle__Group__5 ;
    public final void rule__Circle__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7222:1: ( rule__Circle__Group__4__Impl rule__Circle__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7223:2: rule__Circle__Group__4__Impl rule__Circle__Group__5
            {
            pushFollow(FOLLOW_rule__Circle__Group__4__Impl_in_rule__Circle__Group__414232);
            rule__Circle__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__5_in_rule__Circle__Group__414235);
            rule__Circle__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__4"


    // $ANTLR start "rule__Circle__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7230:1: rule__Circle__Group__4__Impl : ( ';' ) ;
    public final void rule__Circle__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7234:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7235:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7235:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7236:1: ';'
            {
             before(grammarAccess.getCircleAccess().getSemicolonKeyword_4()); 
            match(input,16,FOLLOW_16_in_rule__Circle__Group__4__Impl14263); 
             after(grammarAccess.getCircleAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__4__Impl"


    // $ANTLR start "rule__Circle__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7249:1: rule__Circle__Group__5 : rule__Circle__Group__5__Impl rule__Circle__Group__6 ;
    public final void rule__Circle__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7253:1: ( rule__Circle__Group__5__Impl rule__Circle__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7254:2: rule__Circle__Group__5__Impl rule__Circle__Group__6
            {
            pushFollow(FOLLOW_rule__Circle__Group__5__Impl_in_rule__Circle__Group__514294);
            rule__Circle__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__6_in_rule__Circle__Group__514297);
            rule__Circle__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__5"


    // $ANTLR start "rule__Circle__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7261:1: rule__Circle__Group__5__Impl : ( 'radius' ) ;
    public final void rule__Circle__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7265:1: ( ( 'radius' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7266:1: ( 'radius' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7266:1: ( 'radius' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7267:1: 'radius'
            {
             before(grammarAccess.getCircleAccess().getRadiusKeyword_5()); 
            match(input,43,FOLLOW_43_in_rule__Circle__Group__5__Impl14325); 
             after(grammarAccess.getCircleAccess().getRadiusKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__5__Impl"


    // $ANTLR start "rule__Circle__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7280:1: rule__Circle__Group__6 : rule__Circle__Group__6__Impl rule__Circle__Group__7 ;
    public final void rule__Circle__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7284:1: ( rule__Circle__Group__6__Impl rule__Circle__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7285:2: rule__Circle__Group__6__Impl rule__Circle__Group__7
            {
            pushFollow(FOLLOW_rule__Circle__Group__6__Impl_in_rule__Circle__Group__614356);
            rule__Circle__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__7_in_rule__Circle__Group__614359);
            rule__Circle__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__6"


    // $ANTLR start "rule__Circle__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7292:1: rule__Circle__Group__6__Impl : ( ':' ) ;
    public final void rule__Circle__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7296:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7297:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7297:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7298:1: ':'
            {
             before(grammarAccess.getCircleAccess().getColonKeyword_6()); 
            match(input,18,FOLLOW_18_in_rule__Circle__Group__6__Impl14387); 
             after(grammarAccess.getCircleAccess().getColonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__6__Impl"


    // $ANTLR start "rule__Circle__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7311:1: rule__Circle__Group__7 : rule__Circle__Group__7__Impl rule__Circle__Group__8 ;
    public final void rule__Circle__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7315:1: ( rule__Circle__Group__7__Impl rule__Circle__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7316:2: rule__Circle__Group__7__Impl rule__Circle__Group__8
            {
            pushFollow(FOLLOW_rule__Circle__Group__7__Impl_in_rule__Circle__Group__714418);
            rule__Circle__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__8_in_rule__Circle__Group__714421);
            rule__Circle__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__7"


    // $ANTLR start "rule__Circle__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7323:1: rule__Circle__Group__7__Impl : ( ( rule__Circle__RadiusAssignment_7 ) ) ;
    public final void rule__Circle__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7327:1: ( ( ( rule__Circle__RadiusAssignment_7 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7328:1: ( ( rule__Circle__RadiusAssignment_7 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7328:1: ( ( rule__Circle__RadiusAssignment_7 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7329:1: ( rule__Circle__RadiusAssignment_7 )
            {
             before(grammarAccess.getCircleAccess().getRadiusAssignment_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7330:1: ( rule__Circle__RadiusAssignment_7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7330:2: rule__Circle__RadiusAssignment_7
            {
            pushFollow(FOLLOW_rule__Circle__RadiusAssignment_7_in_rule__Circle__Group__7__Impl14448);
            rule__Circle__RadiusAssignment_7();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getRadiusAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__7__Impl"


    // $ANTLR start "rule__Circle__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7340:1: rule__Circle__Group__8 : rule__Circle__Group__8__Impl rule__Circle__Group__9 ;
    public final void rule__Circle__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7344:1: ( rule__Circle__Group__8__Impl rule__Circle__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7345:2: rule__Circle__Group__8__Impl rule__Circle__Group__9
            {
            pushFollow(FOLLOW_rule__Circle__Group__8__Impl_in_rule__Circle__Group__814478);
            rule__Circle__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__9_in_rule__Circle__Group__814481);
            rule__Circle__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__8"


    // $ANTLR start "rule__Circle__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7352:1: rule__Circle__Group__8__Impl : ( ';' ) ;
    public final void rule__Circle__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7356:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7357:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7357:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7358:1: ';'
            {
             before(grammarAccess.getCircleAccess().getSemicolonKeyword_8()); 
            match(input,16,FOLLOW_16_in_rule__Circle__Group__8__Impl14509); 
             after(grammarAccess.getCircleAccess().getSemicolonKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__8__Impl"


    // $ANTLR start "rule__Circle__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7371:1: rule__Circle__Group__9 : rule__Circle__Group__9__Impl rule__Circle__Group__10 ;
    public final void rule__Circle__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7375:1: ( rule__Circle__Group__9__Impl rule__Circle__Group__10 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7376:2: rule__Circle__Group__9__Impl rule__Circle__Group__10
            {
            pushFollow(FOLLOW_rule__Circle__Group__9__Impl_in_rule__Circle__Group__914540);
            rule__Circle__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__10_in_rule__Circle__Group__914543);
            rule__Circle__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__9"


    // $ANTLR start "rule__Circle__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7383:1: rule__Circle__Group__9__Impl : ( 'height' ) ;
    public final void rule__Circle__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7387:1: ( ( 'height' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7388:1: ( 'height' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7388:1: ( 'height' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7389:1: 'height'
            {
             before(grammarAccess.getCircleAccess().getHeightKeyword_9()); 
            match(input,20,FOLLOW_20_in_rule__Circle__Group__9__Impl14571); 
             after(grammarAccess.getCircleAccess().getHeightKeyword_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__9__Impl"


    // $ANTLR start "rule__Circle__Group__10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7402:1: rule__Circle__Group__10 : rule__Circle__Group__10__Impl rule__Circle__Group__11 ;
    public final void rule__Circle__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7406:1: ( rule__Circle__Group__10__Impl rule__Circle__Group__11 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7407:2: rule__Circle__Group__10__Impl rule__Circle__Group__11
            {
            pushFollow(FOLLOW_rule__Circle__Group__10__Impl_in_rule__Circle__Group__1014602);
            rule__Circle__Group__10__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__11_in_rule__Circle__Group__1014605);
            rule__Circle__Group__11();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__10"


    // $ANTLR start "rule__Circle__Group__10__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7414:1: rule__Circle__Group__10__Impl : ( ':' ) ;
    public final void rule__Circle__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7418:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7419:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7419:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7420:1: ':'
            {
             before(grammarAccess.getCircleAccess().getColonKeyword_10()); 
            match(input,18,FOLLOW_18_in_rule__Circle__Group__10__Impl14633); 
             after(grammarAccess.getCircleAccess().getColonKeyword_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__10__Impl"


    // $ANTLR start "rule__Circle__Group__11"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7433:1: rule__Circle__Group__11 : rule__Circle__Group__11__Impl rule__Circle__Group__12 ;
    public final void rule__Circle__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7437:1: ( rule__Circle__Group__11__Impl rule__Circle__Group__12 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7438:2: rule__Circle__Group__11__Impl rule__Circle__Group__12
            {
            pushFollow(FOLLOW_rule__Circle__Group__11__Impl_in_rule__Circle__Group__1114664);
            rule__Circle__Group__11__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__12_in_rule__Circle__Group__1114667);
            rule__Circle__Group__12();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__11"


    // $ANTLR start "rule__Circle__Group__11__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7445:1: rule__Circle__Group__11__Impl : ( ( rule__Circle__HeightAssignment_11 ) ) ;
    public final void rule__Circle__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7449:1: ( ( ( rule__Circle__HeightAssignment_11 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7450:1: ( ( rule__Circle__HeightAssignment_11 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7450:1: ( ( rule__Circle__HeightAssignment_11 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7451:1: ( rule__Circle__HeightAssignment_11 )
            {
             before(grammarAccess.getCircleAccess().getHeightAssignment_11()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7452:1: ( rule__Circle__HeightAssignment_11 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7452:2: rule__Circle__HeightAssignment_11
            {
            pushFollow(FOLLOW_rule__Circle__HeightAssignment_11_in_rule__Circle__Group__11__Impl14694);
            rule__Circle__HeightAssignment_11();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getHeightAssignment_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__11__Impl"


    // $ANTLR start "rule__Circle__Group__12"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7462:1: rule__Circle__Group__12 : rule__Circle__Group__12__Impl rule__Circle__Group__13 ;
    public final void rule__Circle__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7466:1: ( rule__Circle__Group__12__Impl rule__Circle__Group__13 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7467:2: rule__Circle__Group__12__Impl rule__Circle__Group__13
            {
            pushFollow(FOLLOW_rule__Circle__Group__12__Impl_in_rule__Circle__Group__1214724);
            rule__Circle__Group__12__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__13_in_rule__Circle__Group__1214727);
            rule__Circle__Group__13();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__12"


    // $ANTLR start "rule__Circle__Group__12__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7474:1: rule__Circle__Group__12__Impl : ( ';' ) ;
    public final void rule__Circle__Group__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7478:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7479:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7479:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7480:1: ';'
            {
             before(grammarAccess.getCircleAccess().getSemicolonKeyword_12()); 
            match(input,16,FOLLOW_16_in_rule__Circle__Group__12__Impl14755); 
             after(grammarAccess.getCircleAccess().getSemicolonKeyword_12()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__12__Impl"


    // $ANTLR start "rule__Circle__Group__13"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7493:1: rule__Circle__Group__13 : rule__Circle__Group__13__Impl rule__Circle__Group__14 ;
    public final void rule__Circle__Group__13() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7497:1: ( rule__Circle__Group__13__Impl rule__Circle__Group__14 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7498:2: rule__Circle__Group__13__Impl rule__Circle__Group__14
            {
            pushFollow(FOLLOW_rule__Circle__Group__13__Impl_in_rule__Circle__Group__1314786);
            rule__Circle__Group__13__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__14_in_rule__Circle__Group__1314789);
            rule__Circle__Group__14();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__13"


    // $ANTLR start "rule__Circle__Group__13__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7505:1: rule__Circle__Group__13__Impl : ( ( rule__Circle__Group_13__0 )? ) ;
    public final void rule__Circle__Group__13__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7509:1: ( ( ( rule__Circle__Group_13__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7510:1: ( ( rule__Circle__Group_13__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7510:1: ( ( rule__Circle__Group_13__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7511:1: ( rule__Circle__Group_13__0 )?
            {
             before(grammarAccess.getCircleAccess().getGroup_13()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7512:1: ( rule__Circle__Group_13__0 )?
            int alt38=2;
            int LA38_0 = input.LA(1);

            if ( (LA38_0==21) ) {
                alt38=1;
            }
            switch (alt38) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7512:2: rule__Circle__Group_13__0
                    {
                    pushFollow(FOLLOW_rule__Circle__Group_13__0_in_rule__Circle__Group__13__Impl14816);
                    rule__Circle__Group_13__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getCircleAccess().getGroup_13()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__13__Impl"


    // $ANTLR start "rule__Circle__Group__14"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7522:1: rule__Circle__Group__14 : rule__Circle__Group__14__Impl rule__Circle__Group__15 ;
    public final void rule__Circle__Group__14() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7526:1: ( rule__Circle__Group__14__Impl rule__Circle__Group__15 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7527:2: rule__Circle__Group__14__Impl rule__Circle__Group__15
            {
            pushFollow(FOLLOW_rule__Circle__Group__14__Impl_in_rule__Circle__Group__1414847);
            rule__Circle__Group__14__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group__15_in_rule__Circle__Group__1414850);
            rule__Circle__Group__15();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__14"


    // $ANTLR start "rule__Circle__Group__14__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7534:1: rule__Circle__Group__14__Impl : ( ( rule__Circle__Group_14__0 )? ) ;
    public final void rule__Circle__Group__14__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7538:1: ( ( ( rule__Circle__Group_14__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7539:1: ( ( rule__Circle__Group_14__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7539:1: ( ( rule__Circle__Group_14__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7540:1: ( rule__Circle__Group_14__0 )?
            {
             before(grammarAccess.getCircleAccess().getGroup_14()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7541:1: ( rule__Circle__Group_14__0 )?
            int alt39=2;
            int LA39_0 = input.LA(1);

            if ( (LA39_0==39) ) {
                alt39=1;
            }
            switch (alt39) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7541:2: rule__Circle__Group_14__0
                    {
                    pushFollow(FOLLOW_rule__Circle__Group_14__0_in_rule__Circle__Group__14__Impl14877);
                    rule__Circle__Group_14__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getCircleAccess().getGroup_14()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__14__Impl"


    // $ANTLR start "rule__Circle__Group__15"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7551:1: rule__Circle__Group__15 : rule__Circle__Group__15__Impl ;
    public final void rule__Circle__Group__15() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7555:1: ( rule__Circle__Group__15__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7556:2: rule__Circle__Group__15__Impl
            {
            pushFollow(FOLLOW_rule__Circle__Group__15__Impl_in_rule__Circle__Group__1514908);
            rule__Circle__Group__15__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__15"


    // $ANTLR start "rule__Circle__Group__15__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7562:1: rule__Circle__Group__15__Impl : ( '}' ) ;
    public final void rule__Circle__Group__15__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7566:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7567:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7567:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7568:1: '}'
            {
             before(grammarAccess.getCircleAccess().getRightCurlyBracketKeyword_15()); 
            match(input,13,FOLLOW_13_in_rule__Circle__Group__15__Impl14936); 
             after(grammarAccess.getCircleAccess().getRightCurlyBracketKeyword_15()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group__15__Impl"


    // $ANTLR start "rule__Circle__Group_13__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7613:1: rule__Circle__Group_13__0 : rule__Circle__Group_13__0__Impl rule__Circle__Group_13__1 ;
    public final void rule__Circle__Group_13__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7617:1: ( rule__Circle__Group_13__0__Impl rule__Circle__Group_13__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7618:2: rule__Circle__Group_13__0__Impl rule__Circle__Group_13__1
            {
            pushFollow(FOLLOW_rule__Circle__Group_13__0__Impl_in_rule__Circle__Group_13__014999);
            rule__Circle__Group_13__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group_13__1_in_rule__Circle__Group_13__015002);
            rule__Circle__Group_13__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__0"


    // $ANTLR start "rule__Circle__Group_13__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7625:1: rule__Circle__Group_13__0__Impl : ( 'texture' ) ;
    public final void rule__Circle__Group_13__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7629:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7630:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7630:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7631:1: 'texture'
            {
             before(grammarAccess.getCircleAccess().getTextureKeyword_13_0()); 
            match(input,21,FOLLOW_21_in_rule__Circle__Group_13__0__Impl15030); 
             after(grammarAccess.getCircleAccess().getTextureKeyword_13_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__0__Impl"


    // $ANTLR start "rule__Circle__Group_13__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7644:1: rule__Circle__Group_13__1 : rule__Circle__Group_13__1__Impl rule__Circle__Group_13__2 ;
    public final void rule__Circle__Group_13__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7648:1: ( rule__Circle__Group_13__1__Impl rule__Circle__Group_13__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7649:2: rule__Circle__Group_13__1__Impl rule__Circle__Group_13__2
            {
            pushFollow(FOLLOW_rule__Circle__Group_13__1__Impl_in_rule__Circle__Group_13__115061);
            rule__Circle__Group_13__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group_13__2_in_rule__Circle__Group_13__115064);
            rule__Circle__Group_13__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__1"


    // $ANTLR start "rule__Circle__Group_13__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7656:1: rule__Circle__Group_13__1__Impl : ( ':' ) ;
    public final void rule__Circle__Group_13__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7660:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7661:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7661:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7662:1: ':'
            {
             before(grammarAccess.getCircleAccess().getColonKeyword_13_1()); 
            match(input,18,FOLLOW_18_in_rule__Circle__Group_13__1__Impl15092); 
             after(grammarAccess.getCircleAccess().getColonKeyword_13_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__1__Impl"


    // $ANTLR start "rule__Circle__Group_13__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7675:1: rule__Circle__Group_13__2 : rule__Circle__Group_13__2__Impl rule__Circle__Group_13__3 ;
    public final void rule__Circle__Group_13__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7679:1: ( rule__Circle__Group_13__2__Impl rule__Circle__Group_13__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7680:2: rule__Circle__Group_13__2__Impl rule__Circle__Group_13__3
            {
            pushFollow(FOLLOW_rule__Circle__Group_13__2__Impl_in_rule__Circle__Group_13__215123);
            rule__Circle__Group_13__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group_13__3_in_rule__Circle__Group_13__215126);
            rule__Circle__Group_13__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__2"


    // $ANTLR start "rule__Circle__Group_13__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7687:1: rule__Circle__Group_13__2__Impl : ( ( rule__Circle__TextureAssignment_13_2 ) ) ;
    public final void rule__Circle__Group_13__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7691:1: ( ( ( rule__Circle__TextureAssignment_13_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7692:1: ( ( rule__Circle__TextureAssignment_13_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7692:1: ( ( rule__Circle__TextureAssignment_13_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7693:1: ( rule__Circle__TextureAssignment_13_2 )
            {
             before(grammarAccess.getCircleAccess().getTextureAssignment_13_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7694:1: ( rule__Circle__TextureAssignment_13_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7694:2: rule__Circle__TextureAssignment_13_2
            {
            pushFollow(FOLLOW_rule__Circle__TextureAssignment_13_2_in_rule__Circle__Group_13__2__Impl15153);
            rule__Circle__TextureAssignment_13_2();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getTextureAssignment_13_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__2__Impl"


    // $ANTLR start "rule__Circle__Group_13__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7704:1: rule__Circle__Group_13__3 : rule__Circle__Group_13__3__Impl ;
    public final void rule__Circle__Group_13__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7708:1: ( rule__Circle__Group_13__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7709:2: rule__Circle__Group_13__3__Impl
            {
            pushFollow(FOLLOW_rule__Circle__Group_13__3__Impl_in_rule__Circle__Group_13__315183);
            rule__Circle__Group_13__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__3"


    // $ANTLR start "rule__Circle__Group_13__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7715:1: rule__Circle__Group_13__3__Impl : ( ';' ) ;
    public final void rule__Circle__Group_13__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7719:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7720:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7720:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7721:1: ';'
            {
             before(grammarAccess.getCircleAccess().getSemicolonKeyword_13_3()); 
            match(input,16,FOLLOW_16_in_rule__Circle__Group_13__3__Impl15211); 
             after(grammarAccess.getCircleAccess().getSemicolonKeyword_13_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_13__3__Impl"


    // $ANTLR start "rule__Circle__Group_14__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7742:1: rule__Circle__Group_14__0 : rule__Circle__Group_14__0__Impl rule__Circle__Group_14__1 ;
    public final void rule__Circle__Group_14__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7746:1: ( rule__Circle__Group_14__0__Impl rule__Circle__Group_14__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7747:2: rule__Circle__Group_14__0__Impl rule__Circle__Group_14__1
            {
            pushFollow(FOLLOW_rule__Circle__Group_14__0__Impl_in_rule__Circle__Group_14__015250);
            rule__Circle__Group_14__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Circle__Group_14__1_in_rule__Circle__Group_14__015253);
            rule__Circle__Group_14__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_14__0"


    // $ANTLR start "rule__Circle__Group_14__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7754:1: rule__Circle__Group_14__0__Impl : ( ( rule__Circle__MarginAssignment_14_0 ) ) ;
    public final void rule__Circle__Group_14__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7758:1: ( ( ( rule__Circle__MarginAssignment_14_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7759:1: ( ( rule__Circle__MarginAssignment_14_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7759:1: ( ( rule__Circle__MarginAssignment_14_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7760:1: ( rule__Circle__MarginAssignment_14_0 )
            {
             before(grammarAccess.getCircleAccess().getMarginAssignment_14_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7761:1: ( rule__Circle__MarginAssignment_14_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7761:2: rule__Circle__MarginAssignment_14_0
            {
            pushFollow(FOLLOW_rule__Circle__MarginAssignment_14_0_in_rule__Circle__Group_14__0__Impl15280);
            rule__Circle__MarginAssignment_14_0();

            state._fsp--;


            }

             after(grammarAccess.getCircleAccess().getMarginAssignment_14_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_14__0__Impl"


    // $ANTLR start "rule__Circle__Group_14__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7771:1: rule__Circle__Group_14__1 : rule__Circle__Group_14__1__Impl ;
    public final void rule__Circle__Group_14__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7775:1: ( rule__Circle__Group_14__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7776:2: rule__Circle__Group_14__1__Impl
            {
            pushFollow(FOLLOW_rule__Circle__Group_14__1__Impl_in_rule__Circle__Group_14__115310);
            rule__Circle__Group_14__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_14__1"


    // $ANTLR start "rule__Circle__Group_14__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7782:1: rule__Circle__Group_14__1__Impl : ( ';' ) ;
    public final void rule__Circle__Group_14__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7786:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7787:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7787:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7788:1: ';'
            {
             before(grammarAccess.getCircleAccess().getSemicolonKeyword_14_1()); 
            match(input,16,FOLLOW_16_in_rule__Circle__Group_14__1__Impl15338); 
             after(grammarAccess.getCircleAccess().getSemicolonKeyword_14_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__Group_14__1__Impl"


    // $ANTLR start "rule__Polygon__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7805:1: rule__Polygon__Group__0 : rule__Polygon__Group__0__Impl rule__Polygon__Group__1 ;
    public final void rule__Polygon__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7809:1: ( rule__Polygon__Group__0__Impl rule__Polygon__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7810:2: rule__Polygon__Group__0__Impl rule__Polygon__Group__1
            {
            pushFollow(FOLLOW_rule__Polygon__Group__0__Impl_in_rule__Polygon__Group__015373);
            rule__Polygon__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__1_in_rule__Polygon__Group__015376);
            rule__Polygon__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__0"


    // $ANTLR start "rule__Polygon__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7817:1: rule__Polygon__Group__0__Impl : ( 'polygon' ) ;
    public final void rule__Polygon__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7821:1: ( ( 'polygon' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7822:1: ( 'polygon' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7822:1: ( 'polygon' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7823:1: 'polygon'
            {
             before(grammarAccess.getPolygonAccess().getPolygonKeyword_0()); 
            match(input,44,FOLLOW_44_in_rule__Polygon__Group__0__Impl15404); 
             after(grammarAccess.getPolygonAccess().getPolygonKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__0__Impl"


    // $ANTLR start "rule__Polygon__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7836:1: rule__Polygon__Group__1 : rule__Polygon__Group__1__Impl rule__Polygon__Group__2 ;
    public final void rule__Polygon__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7840:1: ( rule__Polygon__Group__1__Impl rule__Polygon__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7841:2: rule__Polygon__Group__1__Impl rule__Polygon__Group__2
            {
            pushFollow(FOLLOW_rule__Polygon__Group__1__Impl_in_rule__Polygon__Group__115435);
            rule__Polygon__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__2_in_rule__Polygon__Group__115438);
            rule__Polygon__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__1"


    // $ANTLR start "rule__Polygon__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7848:1: rule__Polygon__Group__1__Impl : ( ( rule__Polygon__NameAssignment_1 ) ) ;
    public final void rule__Polygon__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7852:1: ( ( ( rule__Polygon__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7853:1: ( ( rule__Polygon__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7853:1: ( ( rule__Polygon__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7854:1: ( rule__Polygon__NameAssignment_1 )
            {
             before(grammarAccess.getPolygonAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7855:1: ( rule__Polygon__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7855:2: rule__Polygon__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Polygon__NameAssignment_1_in_rule__Polygon__Group__1__Impl15465);
            rule__Polygon__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__1__Impl"


    // $ANTLR start "rule__Polygon__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7865:1: rule__Polygon__Group__2 : rule__Polygon__Group__2__Impl rule__Polygon__Group__3 ;
    public final void rule__Polygon__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7869:1: ( rule__Polygon__Group__2__Impl rule__Polygon__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7870:2: rule__Polygon__Group__2__Impl rule__Polygon__Group__3
            {
            pushFollow(FOLLOW_rule__Polygon__Group__2__Impl_in_rule__Polygon__Group__215495);
            rule__Polygon__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__3_in_rule__Polygon__Group__215498);
            rule__Polygon__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__2"


    // $ANTLR start "rule__Polygon__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7877:1: rule__Polygon__Group__2__Impl : ( '{' ) ;
    public final void rule__Polygon__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7881:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7882:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7882:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7883:1: '{'
            {
             before(grammarAccess.getPolygonAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Polygon__Group__2__Impl15526); 
             after(grammarAccess.getPolygonAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__2__Impl"


    // $ANTLR start "rule__Polygon__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7896:1: rule__Polygon__Group__3 : rule__Polygon__Group__3__Impl rule__Polygon__Group__4 ;
    public final void rule__Polygon__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7900:1: ( rule__Polygon__Group__3__Impl rule__Polygon__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7901:2: rule__Polygon__Group__3__Impl rule__Polygon__Group__4
            {
            pushFollow(FOLLOW_rule__Polygon__Group__3__Impl_in_rule__Polygon__Group__315557);
            rule__Polygon__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__4_in_rule__Polygon__Group__315560);
            rule__Polygon__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__3"


    // $ANTLR start "rule__Polygon__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7908:1: rule__Polygon__Group__3__Impl : ( ( rule__Polygon__TranslationAssignment_3 ) ) ;
    public final void rule__Polygon__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7912:1: ( ( ( rule__Polygon__TranslationAssignment_3 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7913:1: ( ( rule__Polygon__TranslationAssignment_3 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7913:1: ( ( rule__Polygon__TranslationAssignment_3 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7914:1: ( rule__Polygon__TranslationAssignment_3 )
            {
             before(grammarAccess.getPolygonAccess().getTranslationAssignment_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7915:1: ( rule__Polygon__TranslationAssignment_3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7915:2: rule__Polygon__TranslationAssignment_3
            {
            pushFollow(FOLLOW_rule__Polygon__TranslationAssignment_3_in_rule__Polygon__Group__3__Impl15587);
            rule__Polygon__TranslationAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getTranslationAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__3__Impl"


    // $ANTLR start "rule__Polygon__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7925:1: rule__Polygon__Group__4 : rule__Polygon__Group__4__Impl rule__Polygon__Group__5 ;
    public final void rule__Polygon__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7929:1: ( rule__Polygon__Group__4__Impl rule__Polygon__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7930:2: rule__Polygon__Group__4__Impl rule__Polygon__Group__5
            {
            pushFollow(FOLLOW_rule__Polygon__Group__4__Impl_in_rule__Polygon__Group__415617);
            rule__Polygon__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__5_in_rule__Polygon__Group__415620);
            rule__Polygon__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__4"


    // $ANTLR start "rule__Polygon__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7937:1: rule__Polygon__Group__4__Impl : ( ';' ) ;
    public final void rule__Polygon__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7941:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7942:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7942:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7943:1: ';'
            {
             before(grammarAccess.getPolygonAccess().getSemicolonKeyword_4()); 
            match(input,16,FOLLOW_16_in_rule__Polygon__Group__4__Impl15648); 
             after(grammarAccess.getPolygonAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__4__Impl"


    // $ANTLR start "rule__Polygon__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7956:1: rule__Polygon__Group__5 : rule__Polygon__Group__5__Impl rule__Polygon__Group__6 ;
    public final void rule__Polygon__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7960:1: ( rule__Polygon__Group__5__Impl rule__Polygon__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7961:2: rule__Polygon__Group__5__Impl rule__Polygon__Group__6
            {
            pushFollow(FOLLOW_rule__Polygon__Group__5__Impl_in_rule__Polygon__Group__515679);
            rule__Polygon__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__6_in_rule__Polygon__Group__515682);
            rule__Polygon__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__5"


    // $ANTLR start "rule__Polygon__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7968:1: rule__Polygon__Group__5__Impl : ( ( rule__Polygon__Group_5__0 )? ) ;
    public final void rule__Polygon__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7972:1: ( ( ( rule__Polygon__Group_5__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7973:1: ( ( rule__Polygon__Group_5__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7973:1: ( ( rule__Polygon__Group_5__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7974:1: ( rule__Polygon__Group_5__0 )?
            {
             before(grammarAccess.getPolygonAccess().getGroup_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7975:1: ( rule__Polygon__Group_5__0 )?
            int alt40=2;
            int LA40_0 = input.LA(1);

            if ( (LA40_0==17) ) {
                alt40=1;
            }
            switch (alt40) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7975:2: rule__Polygon__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__Polygon__Group_5__0_in_rule__Polygon__Group__5__Impl15709);
                    rule__Polygon__Group_5__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPolygonAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__5__Impl"


    // $ANTLR start "rule__Polygon__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7985:1: rule__Polygon__Group__6 : rule__Polygon__Group__6__Impl rule__Polygon__Group__7 ;
    public final void rule__Polygon__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7989:1: ( rule__Polygon__Group__6__Impl rule__Polygon__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7990:2: rule__Polygon__Group__6__Impl rule__Polygon__Group__7
            {
            pushFollow(FOLLOW_rule__Polygon__Group__6__Impl_in_rule__Polygon__Group__615740);
            rule__Polygon__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__7_in_rule__Polygon__Group__615743);
            rule__Polygon__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__6"


    // $ANTLR start "rule__Polygon__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:7997:1: rule__Polygon__Group__6__Impl : ( ( rule__Polygon__Group_6__0 )? ) ;
    public final void rule__Polygon__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8001:1: ( ( ( rule__Polygon__Group_6__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8002:1: ( ( rule__Polygon__Group_6__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8002:1: ( ( rule__Polygon__Group_6__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8003:1: ( rule__Polygon__Group_6__0 )?
            {
             before(grammarAccess.getPolygonAccess().getGroup_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8004:1: ( rule__Polygon__Group_6__0 )?
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( (LA41_0==20) ) {
                alt41=1;
            }
            switch (alt41) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8004:2: rule__Polygon__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__Polygon__Group_6__0_in_rule__Polygon__Group__6__Impl15770);
                    rule__Polygon__Group_6__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPolygonAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__6__Impl"


    // $ANTLR start "rule__Polygon__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8014:1: rule__Polygon__Group__7 : rule__Polygon__Group__7__Impl rule__Polygon__Group__8 ;
    public final void rule__Polygon__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8018:1: ( rule__Polygon__Group__7__Impl rule__Polygon__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8019:2: rule__Polygon__Group__7__Impl rule__Polygon__Group__8
            {
            pushFollow(FOLLOW_rule__Polygon__Group__7__Impl_in_rule__Polygon__Group__715801);
            rule__Polygon__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__8_in_rule__Polygon__Group__715804);
            rule__Polygon__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__7"


    // $ANTLR start "rule__Polygon__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8026:1: rule__Polygon__Group__7__Impl : ( ( rule__Polygon__Group_7__0 )? ) ;
    public final void rule__Polygon__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8030:1: ( ( ( rule__Polygon__Group_7__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8031:1: ( ( rule__Polygon__Group_7__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8031:1: ( ( rule__Polygon__Group_7__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8032:1: ( rule__Polygon__Group_7__0 )?
            {
             before(grammarAccess.getPolygonAccess().getGroup_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8033:1: ( rule__Polygon__Group_7__0 )?
            int alt42=2;
            int LA42_0 = input.LA(1);

            if ( (LA42_0==21) ) {
                alt42=1;
            }
            switch (alt42) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8033:2: rule__Polygon__Group_7__0
                    {
                    pushFollow(FOLLOW_rule__Polygon__Group_7__0_in_rule__Polygon__Group__7__Impl15831);
                    rule__Polygon__Group_7__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPolygonAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__7__Impl"


    // $ANTLR start "rule__Polygon__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8043:1: rule__Polygon__Group__8 : rule__Polygon__Group__8__Impl rule__Polygon__Group__9 ;
    public final void rule__Polygon__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8047:1: ( rule__Polygon__Group__8__Impl rule__Polygon__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8048:2: rule__Polygon__Group__8__Impl rule__Polygon__Group__9
            {
            pushFollow(FOLLOW_rule__Polygon__Group__8__Impl_in_rule__Polygon__Group__815862);
            rule__Polygon__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__9_in_rule__Polygon__Group__815865);
            rule__Polygon__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__8"


    // $ANTLR start "rule__Polygon__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8055:1: rule__Polygon__Group__8__Impl : ( ( rule__Polygon__Group_8__0 )? ) ;
    public final void rule__Polygon__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8059:1: ( ( ( rule__Polygon__Group_8__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8060:1: ( ( rule__Polygon__Group_8__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8060:1: ( ( rule__Polygon__Group_8__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8061:1: ( rule__Polygon__Group_8__0 )?
            {
             before(grammarAccess.getPolygonAccess().getGroup_8()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8062:1: ( rule__Polygon__Group_8__0 )?
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( (LA43_0==39) ) {
                alt43=1;
            }
            switch (alt43) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8062:2: rule__Polygon__Group_8__0
                    {
                    pushFollow(FOLLOW_rule__Polygon__Group_8__0_in_rule__Polygon__Group__8__Impl15892);
                    rule__Polygon__Group_8__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPolygonAccess().getGroup_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__8__Impl"


    // $ANTLR start "rule__Polygon__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8072:1: rule__Polygon__Group__9 : rule__Polygon__Group__9__Impl rule__Polygon__Group__10 ;
    public final void rule__Polygon__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8076:1: ( rule__Polygon__Group__9__Impl rule__Polygon__Group__10 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8077:2: rule__Polygon__Group__9__Impl rule__Polygon__Group__10
            {
            pushFollow(FOLLOW_rule__Polygon__Group__9__Impl_in_rule__Polygon__Group__915923);
            rule__Polygon__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group__10_in_rule__Polygon__Group__915926);
            rule__Polygon__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__9"


    // $ANTLR start "rule__Polygon__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8084:1: rule__Polygon__Group__9__Impl : ( ( rule__Polygon__PointsAssignment_9 )* ) ;
    public final void rule__Polygon__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8088:1: ( ( ( rule__Polygon__PointsAssignment_9 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8089:1: ( ( rule__Polygon__PointsAssignment_9 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8089:1: ( ( rule__Polygon__PointsAssignment_9 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8090:1: ( rule__Polygon__PointsAssignment_9 )*
            {
             before(grammarAccess.getPolygonAccess().getPointsAssignment_9()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8091:1: ( rule__Polygon__PointsAssignment_9 )*
            loop44:
            do {
                int alt44=2;
                int LA44_0 = input.LA(1);

                if ( (LA44_0==32) ) {
                    alt44=1;
                }


                switch (alt44) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8091:2: rule__Polygon__PointsAssignment_9
            	    {
            	    pushFollow(FOLLOW_rule__Polygon__PointsAssignment_9_in_rule__Polygon__Group__9__Impl15953);
            	    rule__Polygon__PointsAssignment_9();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop44;
                }
            } while (true);

             after(grammarAccess.getPolygonAccess().getPointsAssignment_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__9__Impl"


    // $ANTLR start "rule__Polygon__Group__10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8101:1: rule__Polygon__Group__10 : rule__Polygon__Group__10__Impl ;
    public final void rule__Polygon__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8105:1: ( rule__Polygon__Group__10__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8106:2: rule__Polygon__Group__10__Impl
            {
            pushFollow(FOLLOW_rule__Polygon__Group__10__Impl_in_rule__Polygon__Group__1015984);
            rule__Polygon__Group__10__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__10"


    // $ANTLR start "rule__Polygon__Group__10__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8112:1: rule__Polygon__Group__10__Impl : ( '}' ) ;
    public final void rule__Polygon__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8116:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8117:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8117:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8118:1: '}'
            {
             before(grammarAccess.getPolygonAccess().getRightCurlyBracketKeyword_10()); 
            match(input,13,FOLLOW_13_in_rule__Polygon__Group__10__Impl16012); 
             after(grammarAccess.getPolygonAccess().getRightCurlyBracketKeyword_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group__10__Impl"


    // $ANTLR start "rule__Polygon__Group_5__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8153:1: rule__Polygon__Group_5__0 : rule__Polygon__Group_5__0__Impl rule__Polygon__Group_5__1 ;
    public final void rule__Polygon__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8157:1: ( rule__Polygon__Group_5__0__Impl rule__Polygon__Group_5__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8158:2: rule__Polygon__Group_5__0__Impl rule__Polygon__Group_5__1
            {
            pushFollow(FOLLOW_rule__Polygon__Group_5__0__Impl_in_rule__Polygon__Group_5__016065);
            rule__Polygon__Group_5__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_5__1_in_rule__Polygon__Group_5__016068);
            rule__Polygon__Group_5__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__0"


    // $ANTLR start "rule__Polygon__Group_5__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8165:1: rule__Polygon__Group_5__0__Impl : ( 'width' ) ;
    public final void rule__Polygon__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8169:1: ( ( 'width' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8170:1: ( 'width' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8170:1: ( 'width' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8171:1: 'width'
            {
             before(grammarAccess.getPolygonAccess().getWidthKeyword_5_0()); 
            match(input,17,FOLLOW_17_in_rule__Polygon__Group_5__0__Impl16096); 
             after(grammarAccess.getPolygonAccess().getWidthKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__0__Impl"


    // $ANTLR start "rule__Polygon__Group_5__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8184:1: rule__Polygon__Group_5__1 : rule__Polygon__Group_5__1__Impl rule__Polygon__Group_5__2 ;
    public final void rule__Polygon__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8188:1: ( rule__Polygon__Group_5__1__Impl rule__Polygon__Group_5__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8189:2: rule__Polygon__Group_5__1__Impl rule__Polygon__Group_5__2
            {
            pushFollow(FOLLOW_rule__Polygon__Group_5__1__Impl_in_rule__Polygon__Group_5__116127);
            rule__Polygon__Group_5__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_5__2_in_rule__Polygon__Group_5__116130);
            rule__Polygon__Group_5__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__1"


    // $ANTLR start "rule__Polygon__Group_5__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8196:1: rule__Polygon__Group_5__1__Impl : ( ':' ) ;
    public final void rule__Polygon__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8200:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8201:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8201:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8202:1: ':'
            {
             before(grammarAccess.getPolygonAccess().getColonKeyword_5_1()); 
            match(input,18,FOLLOW_18_in_rule__Polygon__Group_5__1__Impl16158); 
             after(grammarAccess.getPolygonAccess().getColonKeyword_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__1__Impl"


    // $ANTLR start "rule__Polygon__Group_5__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8215:1: rule__Polygon__Group_5__2 : rule__Polygon__Group_5__2__Impl rule__Polygon__Group_5__3 ;
    public final void rule__Polygon__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8219:1: ( rule__Polygon__Group_5__2__Impl rule__Polygon__Group_5__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8220:2: rule__Polygon__Group_5__2__Impl rule__Polygon__Group_5__3
            {
            pushFollow(FOLLOW_rule__Polygon__Group_5__2__Impl_in_rule__Polygon__Group_5__216189);
            rule__Polygon__Group_5__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_5__3_in_rule__Polygon__Group_5__216192);
            rule__Polygon__Group_5__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__2"


    // $ANTLR start "rule__Polygon__Group_5__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8227:1: rule__Polygon__Group_5__2__Impl : ( ( rule__Polygon__WidthAssignment_5_2 ) ) ;
    public final void rule__Polygon__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8231:1: ( ( ( rule__Polygon__WidthAssignment_5_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8232:1: ( ( rule__Polygon__WidthAssignment_5_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8232:1: ( ( rule__Polygon__WidthAssignment_5_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8233:1: ( rule__Polygon__WidthAssignment_5_2 )
            {
             before(grammarAccess.getPolygonAccess().getWidthAssignment_5_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8234:1: ( rule__Polygon__WidthAssignment_5_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8234:2: rule__Polygon__WidthAssignment_5_2
            {
            pushFollow(FOLLOW_rule__Polygon__WidthAssignment_5_2_in_rule__Polygon__Group_5__2__Impl16219);
            rule__Polygon__WidthAssignment_5_2();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getWidthAssignment_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__2__Impl"


    // $ANTLR start "rule__Polygon__Group_5__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8244:1: rule__Polygon__Group_5__3 : rule__Polygon__Group_5__3__Impl ;
    public final void rule__Polygon__Group_5__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8248:1: ( rule__Polygon__Group_5__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8249:2: rule__Polygon__Group_5__3__Impl
            {
            pushFollow(FOLLOW_rule__Polygon__Group_5__3__Impl_in_rule__Polygon__Group_5__316249);
            rule__Polygon__Group_5__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__3"


    // $ANTLR start "rule__Polygon__Group_5__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8255:1: rule__Polygon__Group_5__3__Impl : ( ';' ) ;
    public final void rule__Polygon__Group_5__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8259:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8260:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8260:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8261:1: ';'
            {
             before(grammarAccess.getPolygonAccess().getSemicolonKeyword_5_3()); 
            match(input,16,FOLLOW_16_in_rule__Polygon__Group_5__3__Impl16277); 
             after(grammarAccess.getPolygonAccess().getSemicolonKeyword_5_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_5__3__Impl"


    // $ANTLR start "rule__Polygon__Group_6__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8282:1: rule__Polygon__Group_6__0 : rule__Polygon__Group_6__0__Impl rule__Polygon__Group_6__1 ;
    public final void rule__Polygon__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8286:1: ( rule__Polygon__Group_6__0__Impl rule__Polygon__Group_6__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8287:2: rule__Polygon__Group_6__0__Impl rule__Polygon__Group_6__1
            {
            pushFollow(FOLLOW_rule__Polygon__Group_6__0__Impl_in_rule__Polygon__Group_6__016316);
            rule__Polygon__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_6__1_in_rule__Polygon__Group_6__016319);
            rule__Polygon__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__0"


    // $ANTLR start "rule__Polygon__Group_6__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8294:1: rule__Polygon__Group_6__0__Impl : ( 'height' ) ;
    public final void rule__Polygon__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8298:1: ( ( 'height' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8299:1: ( 'height' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8299:1: ( 'height' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8300:1: 'height'
            {
             before(grammarAccess.getPolygonAccess().getHeightKeyword_6_0()); 
            match(input,20,FOLLOW_20_in_rule__Polygon__Group_6__0__Impl16347); 
             after(grammarAccess.getPolygonAccess().getHeightKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__0__Impl"


    // $ANTLR start "rule__Polygon__Group_6__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8313:1: rule__Polygon__Group_6__1 : rule__Polygon__Group_6__1__Impl rule__Polygon__Group_6__2 ;
    public final void rule__Polygon__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8317:1: ( rule__Polygon__Group_6__1__Impl rule__Polygon__Group_6__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8318:2: rule__Polygon__Group_6__1__Impl rule__Polygon__Group_6__2
            {
            pushFollow(FOLLOW_rule__Polygon__Group_6__1__Impl_in_rule__Polygon__Group_6__116378);
            rule__Polygon__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_6__2_in_rule__Polygon__Group_6__116381);
            rule__Polygon__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__1"


    // $ANTLR start "rule__Polygon__Group_6__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8325:1: rule__Polygon__Group_6__1__Impl : ( ':' ) ;
    public final void rule__Polygon__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8329:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8330:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8330:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8331:1: ':'
            {
             before(grammarAccess.getPolygonAccess().getColonKeyword_6_1()); 
            match(input,18,FOLLOW_18_in_rule__Polygon__Group_6__1__Impl16409); 
             after(grammarAccess.getPolygonAccess().getColonKeyword_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__1__Impl"


    // $ANTLR start "rule__Polygon__Group_6__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8344:1: rule__Polygon__Group_6__2 : rule__Polygon__Group_6__2__Impl rule__Polygon__Group_6__3 ;
    public final void rule__Polygon__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8348:1: ( rule__Polygon__Group_6__2__Impl rule__Polygon__Group_6__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8349:2: rule__Polygon__Group_6__2__Impl rule__Polygon__Group_6__3
            {
            pushFollow(FOLLOW_rule__Polygon__Group_6__2__Impl_in_rule__Polygon__Group_6__216440);
            rule__Polygon__Group_6__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_6__3_in_rule__Polygon__Group_6__216443);
            rule__Polygon__Group_6__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__2"


    // $ANTLR start "rule__Polygon__Group_6__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8356:1: rule__Polygon__Group_6__2__Impl : ( ( rule__Polygon__HeightAssignment_6_2 ) ) ;
    public final void rule__Polygon__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8360:1: ( ( ( rule__Polygon__HeightAssignment_6_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8361:1: ( ( rule__Polygon__HeightAssignment_6_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8361:1: ( ( rule__Polygon__HeightAssignment_6_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8362:1: ( rule__Polygon__HeightAssignment_6_2 )
            {
             before(grammarAccess.getPolygonAccess().getHeightAssignment_6_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8363:1: ( rule__Polygon__HeightAssignment_6_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8363:2: rule__Polygon__HeightAssignment_6_2
            {
            pushFollow(FOLLOW_rule__Polygon__HeightAssignment_6_2_in_rule__Polygon__Group_6__2__Impl16470);
            rule__Polygon__HeightAssignment_6_2();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getHeightAssignment_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__2__Impl"


    // $ANTLR start "rule__Polygon__Group_6__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8373:1: rule__Polygon__Group_6__3 : rule__Polygon__Group_6__3__Impl ;
    public final void rule__Polygon__Group_6__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8377:1: ( rule__Polygon__Group_6__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8378:2: rule__Polygon__Group_6__3__Impl
            {
            pushFollow(FOLLOW_rule__Polygon__Group_6__3__Impl_in_rule__Polygon__Group_6__316500);
            rule__Polygon__Group_6__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__3"


    // $ANTLR start "rule__Polygon__Group_6__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8384:1: rule__Polygon__Group_6__3__Impl : ( ';' ) ;
    public final void rule__Polygon__Group_6__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8388:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8389:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8389:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8390:1: ';'
            {
             before(grammarAccess.getPolygonAccess().getSemicolonKeyword_6_3()); 
            match(input,16,FOLLOW_16_in_rule__Polygon__Group_6__3__Impl16528); 
             after(grammarAccess.getPolygonAccess().getSemicolonKeyword_6_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_6__3__Impl"


    // $ANTLR start "rule__Polygon__Group_7__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8411:1: rule__Polygon__Group_7__0 : rule__Polygon__Group_7__0__Impl rule__Polygon__Group_7__1 ;
    public final void rule__Polygon__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8415:1: ( rule__Polygon__Group_7__0__Impl rule__Polygon__Group_7__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8416:2: rule__Polygon__Group_7__0__Impl rule__Polygon__Group_7__1
            {
            pushFollow(FOLLOW_rule__Polygon__Group_7__0__Impl_in_rule__Polygon__Group_7__016567);
            rule__Polygon__Group_7__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_7__1_in_rule__Polygon__Group_7__016570);
            rule__Polygon__Group_7__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__0"


    // $ANTLR start "rule__Polygon__Group_7__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8423:1: rule__Polygon__Group_7__0__Impl : ( 'texture' ) ;
    public final void rule__Polygon__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8427:1: ( ( 'texture' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8428:1: ( 'texture' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8428:1: ( 'texture' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8429:1: 'texture'
            {
             before(grammarAccess.getPolygonAccess().getTextureKeyword_7_0()); 
            match(input,21,FOLLOW_21_in_rule__Polygon__Group_7__0__Impl16598); 
             after(grammarAccess.getPolygonAccess().getTextureKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__0__Impl"


    // $ANTLR start "rule__Polygon__Group_7__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8442:1: rule__Polygon__Group_7__1 : rule__Polygon__Group_7__1__Impl rule__Polygon__Group_7__2 ;
    public final void rule__Polygon__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8446:1: ( rule__Polygon__Group_7__1__Impl rule__Polygon__Group_7__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8447:2: rule__Polygon__Group_7__1__Impl rule__Polygon__Group_7__2
            {
            pushFollow(FOLLOW_rule__Polygon__Group_7__1__Impl_in_rule__Polygon__Group_7__116629);
            rule__Polygon__Group_7__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_7__2_in_rule__Polygon__Group_7__116632);
            rule__Polygon__Group_7__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__1"


    // $ANTLR start "rule__Polygon__Group_7__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8454:1: rule__Polygon__Group_7__1__Impl : ( ':' ) ;
    public final void rule__Polygon__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8458:1: ( ( ':' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8459:1: ( ':' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8459:1: ( ':' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8460:1: ':'
            {
             before(grammarAccess.getPolygonAccess().getColonKeyword_7_1()); 
            match(input,18,FOLLOW_18_in_rule__Polygon__Group_7__1__Impl16660); 
             after(grammarAccess.getPolygonAccess().getColonKeyword_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__1__Impl"


    // $ANTLR start "rule__Polygon__Group_7__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8473:1: rule__Polygon__Group_7__2 : rule__Polygon__Group_7__2__Impl rule__Polygon__Group_7__3 ;
    public final void rule__Polygon__Group_7__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8477:1: ( rule__Polygon__Group_7__2__Impl rule__Polygon__Group_7__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8478:2: rule__Polygon__Group_7__2__Impl rule__Polygon__Group_7__3
            {
            pushFollow(FOLLOW_rule__Polygon__Group_7__2__Impl_in_rule__Polygon__Group_7__216691);
            rule__Polygon__Group_7__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_7__3_in_rule__Polygon__Group_7__216694);
            rule__Polygon__Group_7__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__2"


    // $ANTLR start "rule__Polygon__Group_7__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8485:1: rule__Polygon__Group_7__2__Impl : ( ( rule__Polygon__TextureAssignment_7_2 ) ) ;
    public final void rule__Polygon__Group_7__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8489:1: ( ( ( rule__Polygon__TextureAssignment_7_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8490:1: ( ( rule__Polygon__TextureAssignment_7_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8490:1: ( ( rule__Polygon__TextureAssignment_7_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8491:1: ( rule__Polygon__TextureAssignment_7_2 )
            {
             before(grammarAccess.getPolygonAccess().getTextureAssignment_7_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8492:1: ( rule__Polygon__TextureAssignment_7_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8492:2: rule__Polygon__TextureAssignment_7_2
            {
            pushFollow(FOLLOW_rule__Polygon__TextureAssignment_7_2_in_rule__Polygon__Group_7__2__Impl16721);
            rule__Polygon__TextureAssignment_7_2();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getTextureAssignment_7_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__2__Impl"


    // $ANTLR start "rule__Polygon__Group_7__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8502:1: rule__Polygon__Group_7__3 : rule__Polygon__Group_7__3__Impl ;
    public final void rule__Polygon__Group_7__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8506:1: ( rule__Polygon__Group_7__3__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8507:2: rule__Polygon__Group_7__3__Impl
            {
            pushFollow(FOLLOW_rule__Polygon__Group_7__3__Impl_in_rule__Polygon__Group_7__316751);
            rule__Polygon__Group_7__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__3"


    // $ANTLR start "rule__Polygon__Group_7__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8513:1: rule__Polygon__Group_7__3__Impl : ( ';' ) ;
    public final void rule__Polygon__Group_7__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8517:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8518:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8518:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8519:1: ';'
            {
             before(grammarAccess.getPolygonAccess().getSemicolonKeyword_7_3()); 
            match(input,16,FOLLOW_16_in_rule__Polygon__Group_7__3__Impl16779); 
             after(grammarAccess.getPolygonAccess().getSemicolonKeyword_7_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_7__3__Impl"


    // $ANTLR start "rule__Polygon__Group_8__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8540:1: rule__Polygon__Group_8__0 : rule__Polygon__Group_8__0__Impl rule__Polygon__Group_8__1 ;
    public final void rule__Polygon__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8544:1: ( rule__Polygon__Group_8__0__Impl rule__Polygon__Group_8__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8545:2: rule__Polygon__Group_8__0__Impl rule__Polygon__Group_8__1
            {
            pushFollow(FOLLOW_rule__Polygon__Group_8__0__Impl_in_rule__Polygon__Group_8__016818);
            rule__Polygon__Group_8__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Polygon__Group_8__1_in_rule__Polygon__Group_8__016821);
            rule__Polygon__Group_8__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_8__0"


    // $ANTLR start "rule__Polygon__Group_8__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8552:1: rule__Polygon__Group_8__0__Impl : ( ( rule__Polygon__MarginAssignment_8_0 ) ) ;
    public final void rule__Polygon__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8556:1: ( ( ( rule__Polygon__MarginAssignment_8_0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8557:1: ( ( rule__Polygon__MarginAssignment_8_0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8557:1: ( ( rule__Polygon__MarginAssignment_8_0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8558:1: ( rule__Polygon__MarginAssignment_8_0 )
            {
             before(grammarAccess.getPolygonAccess().getMarginAssignment_8_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8559:1: ( rule__Polygon__MarginAssignment_8_0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8559:2: rule__Polygon__MarginAssignment_8_0
            {
            pushFollow(FOLLOW_rule__Polygon__MarginAssignment_8_0_in_rule__Polygon__Group_8__0__Impl16848);
            rule__Polygon__MarginAssignment_8_0();

            state._fsp--;


            }

             after(grammarAccess.getPolygonAccess().getMarginAssignment_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_8__0__Impl"


    // $ANTLR start "rule__Polygon__Group_8__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8569:1: rule__Polygon__Group_8__1 : rule__Polygon__Group_8__1__Impl ;
    public final void rule__Polygon__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8573:1: ( rule__Polygon__Group_8__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8574:2: rule__Polygon__Group_8__1__Impl
            {
            pushFollow(FOLLOW_rule__Polygon__Group_8__1__Impl_in_rule__Polygon__Group_8__116878);
            rule__Polygon__Group_8__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_8__1"


    // $ANTLR start "rule__Polygon__Group_8__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8580:1: rule__Polygon__Group_8__1__Impl : ( ';' ) ;
    public final void rule__Polygon__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8584:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8585:1: ( ';' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8585:1: ( ';' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8586:1: ';'
            {
             before(grammarAccess.getPolygonAccess().getSemicolonKeyword_8_1()); 
            match(input,16,FOLLOW_16_in_rule__Polygon__Group_8__1__Impl16906); 
             after(grammarAccess.getPolygonAccess().getSemicolonKeyword_8_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__Group_8__1__Impl"


    // $ANTLR start "rule__Model__ElementsAssignment"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8604:1: rule__Model__ElementsAssignment : ( ruleType ) ;
    public final void rule__Model__ElementsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8608:1: ( ( ruleType ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8609:1: ( ruleType )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8609:1: ( ruleType )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8610:1: ruleType
            {
             before(grammarAccess.getModelAccess().getElementsTypeParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleType_in_rule__Model__ElementsAssignment16946);
            ruleType();

            state._fsp--;

             after(grammarAccess.getModelAccess().getElementsTypeParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__ElementsAssignment"


    // $ANTLR start "rule__Library__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8619:1: rule__Library__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Library__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8623:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8624:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8624:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8625:1: RULE_ID
            {
             before(grammarAccess.getLibraryAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Library__NameAssignment_116977); 
             after(grammarAccess.getLibraryAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__NameAssignment_1"


    // $ANTLR start "rule__Library__TexturesAssignment_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8634:1: rule__Library__TexturesAssignment_3 : ( ruleTexture ) ;
    public final void rule__Library__TexturesAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8638:1: ( ( ruleTexture ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8639:1: ( ruleTexture )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8639:1: ( ruleTexture )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8640:1: ruleTexture
            {
             before(grammarAccess.getLibraryAccess().getTexturesTextureParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleTexture_in_rule__Library__TexturesAssignment_317008);
            ruleTexture();

            state._fsp--;

             after(grammarAccess.getLibraryAccess().getTexturesTextureParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__TexturesAssignment_3"


    // $ANTLR start "rule__Library__PrototypesAssignment_4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8649:1: rule__Library__PrototypesAssignment_4 : ( rulePrototype ) ;
    public final void rule__Library__PrototypesAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8653:1: ( ( rulePrototype ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8654:1: ( rulePrototype )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8654:1: ( rulePrototype )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8655:1: rulePrototype
            {
             before(grammarAccess.getLibraryAccess().getPrototypesPrototypeParserRuleCall_4_0()); 
            pushFollow(FOLLOW_rulePrototype_in_rule__Library__PrototypesAssignment_417039);
            rulePrototype();

            state._fsp--;

             after(grammarAccess.getLibraryAccess().getPrototypesPrototypeParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Library__PrototypesAssignment_4"


    // $ANTLR start "rule__Scene__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8664:1: rule__Scene__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Scene__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8668:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8669:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8669:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8670:1: RULE_ID
            {
             before(grammarAccess.getSceneAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Scene__NameAssignment_117070); 
             after(grammarAccess.getSceneAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__NameAssignment_1"


    // $ANTLR start "rule__Scene__ParametricsAssignment_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8679:1: rule__Scene__ParametricsAssignment_3 : ( ruleParametric ) ;
    public final void rule__Scene__ParametricsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8683:1: ( ( ruleParametric ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8684:1: ( ruleParametric )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8684:1: ( ruleParametric )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8685:1: ruleParametric
            {
             before(grammarAccess.getSceneAccess().getParametricsParametricParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleParametric_in_rule__Scene__ParametricsAssignment_317101);
            ruleParametric();

            state._fsp--;

             after(grammarAccess.getSceneAccess().getParametricsParametricParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__ParametricsAssignment_3"


    // $ANTLR start "rule__Scene__BuildingsAssignment_4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8694:1: rule__Scene__BuildingsAssignment_4 : ( ruleBuilding ) ;
    public final void rule__Scene__BuildingsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8698:1: ( ( ruleBuilding ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8699:1: ( ruleBuilding )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8699:1: ( ruleBuilding )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8700:1: ruleBuilding
            {
             before(grammarAccess.getSceneAccess().getBuildingsBuildingParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleBuilding_in_rule__Scene__BuildingsAssignment_417132);
            ruleBuilding();

            state._fsp--;

             after(grammarAccess.getSceneAccess().getBuildingsBuildingParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__BuildingsAssignment_4"


    // $ANTLR start "rule__Scene__SurfacesAssignment_5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8709:1: rule__Scene__SurfacesAssignment_5 : ( ruleSurface ) ;
    public final void rule__Scene__SurfacesAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8713:1: ( ( ruleSurface ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8714:1: ( ruleSurface )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8714:1: ( ruleSurface )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8715:1: ruleSurface
            {
             before(grammarAccess.getSceneAccess().getSurfacesSurfaceParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleSurface_in_rule__Scene__SurfacesAssignment_517163);
            ruleSurface();

            state._fsp--;

             after(grammarAccess.getSceneAccess().getSurfacesSurfaceParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scene__SurfacesAssignment_5"


    // $ANTLR start "rule__Parametric__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8724:1: rule__Parametric__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Parametric__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8728:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8729:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8729:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8730:1: RULE_ID
            {
             before(grammarAccess.getParametricAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Parametric__NameAssignment_117194); 
             after(grammarAccess.getParametricAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__NameAssignment_1"


    // $ANTLR start "rule__Parametric__TranslationAssignment_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8739:1: rule__Parametric__TranslationAssignment_3 : ( ruleTranslation ) ;
    public final void rule__Parametric__TranslationAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8743:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8744:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8744:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8745:1: ruleTranslation
            {
             before(grammarAccess.getParametricAccess().getTranslationTranslationParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Parametric__TranslationAssignment_317225);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getParametricAccess().getTranslationTranslationParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__TranslationAssignment_3"


    // $ANTLR start "rule__Parametric__WidthAssignment_7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8754:1: rule__Parametric__WidthAssignment_7 : ( RULE_STRING ) ;
    public final void rule__Parametric__WidthAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8758:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8759:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8759:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8760:1: RULE_STRING
            {
             before(grammarAccess.getParametricAccess().getWidthSTRINGTerminalRuleCall_7_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Parametric__WidthAssignment_717256); 
             after(grammarAccess.getParametricAccess().getWidthSTRINGTerminalRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__WidthAssignment_7"


    // $ANTLR start "rule__Parametric__LengthAssignment_9_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8769:1: rule__Parametric__LengthAssignment_9_2 : ( RULE_STRING ) ;
    public final void rule__Parametric__LengthAssignment_9_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8773:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8774:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8774:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8775:1: RULE_STRING
            {
             before(grammarAccess.getParametricAccess().getLengthSTRINGTerminalRuleCall_9_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Parametric__LengthAssignment_9_217287); 
             after(grammarAccess.getParametricAccess().getLengthSTRINGTerminalRuleCall_9_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__LengthAssignment_9_2"


    // $ANTLR start "rule__Parametric__HeightAssignment_10_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8784:1: rule__Parametric__HeightAssignment_10_2 : ( RULE_STRING ) ;
    public final void rule__Parametric__HeightAssignment_10_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8788:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8789:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8789:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8790:1: RULE_STRING
            {
             before(grammarAccess.getParametricAccess().getHeightSTRINGTerminalRuleCall_10_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Parametric__HeightAssignment_10_217318); 
             after(grammarAccess.getParametricAccess().getHeightSTRINGTerminalRuleCall_10_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__HeightAssignment_10_2"


    // $ANTLR start "rule__Parametric__TextureAssignment_11_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8799:1: rule__Parametric__TextureAssignment_11_2 : ( RULE_STRING ) ;
    public final void rule__Parametric__TextureAssignment_11_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8803:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8804:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8804:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8805:1: RULE_STRING
            {
             before(grammarAccess.getParametricAccess().getTextureSTRINGTerminalRuleCall_11_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Parametric__TextureAssignment_11_217349); 
             after(grammarAccess.getParametricAccess().getTextureSTRINGTerminalRuleCall_11_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Parametric__TextureAssignment_11_2"


    // $ANTLR start "rule__Texture__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8814:1: rule__Texture__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Texture__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8818:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8819:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8819:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8820:1: RULE_ID
            {
             before(grammarAccess.getTextureAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Texture__NameAssignment_117380); 
             after(grammarAccess.getTextureAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__NameAssignment_1"


    // $ANTLR start "rule__Texture__ImgURLAssignment_3_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8829:1: rule__Texture__ImgURLAssignment_3_2 : ( RULE_STRING ) ;
    public final void rule__Texture__ImgURLAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8833:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8834:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8834:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8835:1: RULE_STRING
            {
             before(grammarAccess.getTextureAccess().getImgURLSTRINGTerminalRuleCall_3_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Texture__ImgURLAssignment_3_217411); 
             after(grammarAccess.getTextureAccess().getImgURLSTRINGTerminalRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__ImgURLAssignment_3_2"


    // $ANTLR start "rule__Texture__ColorAssignment_4_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8844:1: rule__Texture__ColorAssignment_4_2 : ( RULE_STRING ) ;
    public final void rule__Texture__ColorAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8848:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8849:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8849:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8850:1: RULE_STRING
            {
             before(grammarAccess.getTextureAccess().getColorSTRINGTerminalRuleCall_4_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Texture__ColorAssignment_4_217442); 
             after(grammarAccess.getTextureAccess().getColorSTRINGTerminalRuleCall_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Texture__ColorAssignment_4_2"


    // $ANTLR start "rule__Translation__XCordAssignment_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8859:1: rule__Translation__XCordAssignment_2 : ( RULE_STRING ) ;
    public final void rule__Translation__XCordAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8863:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8864:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8864:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8865:1: RULE_STRING
            {
             before(grammarAccess.getTranslationAccess().getXCordSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Translation__XCordAssignment_217473); 
             after(grammarAccess.getTranslationAccess().getXCordSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__XCordAssignment_2"


    // $ANTLR start "rule__Translation__YCordAssignment_4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8874:1: rule__Translation__YCordAssignment_4 : ( RULE_STRING ) ;
    public final void rule__Translation__YCordAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8878:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8879:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8879:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8880:1: RULE_STRING
            {
             before(grammarAccess.getTranslationAccess().getYCordSTRINGTerminalRuleCall_4_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Translation__YCordAssignment_417504); 
             after(grammarAccess.getTranslationAccess().getYCordSTRINGTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__YCordAssignment_4"


    // $ANTLR start "rule__Translation__ZCordAssignment_6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8889:1: rule__Translation__ZCordAssignment_6 : ( RULE_STRING ) ;
    public final void rule__Translation__ZCordAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8893:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8894:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8894:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8895:1: RULE_STRING
            {
             before(grammarAccess.getTranslationAccess().getZCordSTRINGTerminalRuleCall_6_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Translation__ZCordAssignment_617535); 
             after(grammarAccess.getTranslationAccess().getZCordSTRINGTerminalRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Translation__ZCordAssignment_6"


    // $ANTLR start "rule__Prototype__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8904:1: rule__Prototype__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Prototype__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8908:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8909:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8909:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8910:1: RULE_ID
            {
             before(grammarAccess.getPrototypeAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Prototype__NameAssignment_117566); 
             after(grammarAccess.getPrototypeAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__NameAssignment_1"


    // $ANTLR start "rule__Prototype__TranslationAssignment_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8919:1: rule__Prototype__TranslationAssignment_3 : ( ruleTranslation ) ;
    public final void rule__Prototype__TranslationAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8923:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8924:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8924:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8925:1: ruleTranslation
            {
             before(grammarAccess.getPrototypeAccess().getTranslationTranslationParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Prototype__TranslationAssignment_317597);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getPrototypeAccess().getTranslationTranslationParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__TranslationAssignment_3"


    // $ANTLR start "rule__Prototype__WallsAssignment_5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8934:1: rule__Prototype__WallsAssignment_5 : ( ruleWall ) ;
    public final void rule__Prototype__WallsAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8938:1: ( ( ruleWall ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8939:1: ( ruleWall )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8939:1: ( ruleWall )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8940:1: ruleWall
            {
             before(grammarAccess.getPrototypeAccess().getWallsWallParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleWall_in_rule__Prototype__WallsAssignment_517628);
            ruleWall();

            state._fsp--;

             after(grammarAccess.getPrototypeAccess().getWallsWallParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__WallsAssignment_5"


    // $ANTLR start "rule__Prototype__OpeningsAssignment_6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8949:1: rule__Prototype__OpeningsAssignment_6 : ( ruleOpening ) ;
    public final void rule__Prototype__OpeningsAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8953:1: ( ( ruleOpening ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8954:1: ( ruleOpening )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8954:1: ( ruleOpening )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8955:1: ruleOpening
            {
             before(grammarAccess.getPrototypeAccess().getOpeningsOpeningParserRuleCall_6_0()); 
            pushFollow(FOLLOW_ruleOpening_in_rule__Prototype__OpeningsAssignment_617659);
            ruleOpening();

            state._fsp--;

             after(grammarAccess.getPrototypeAccess().getOpeningsOpeningParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__OpeningsAssignment_6"


    // $ANTLR start "rule__Prototype__RoofAssignment_7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8964:1: rule__Prototype__RoofAssignment_7 : ( ruleRoof ) ;
    public final void rule__Prototype__RoofAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8968:1: ( ( ruleRoof ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8969:1: ( ruleRoof )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8969:1: ( ruleRoof )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8970:1: ruleRoof
            {
             before(grammarAccess.getPrototypeAccess().getRoofRoofParserRuleCall_7_0()); 
            pushFollow(FOLLOW_ruleRoof_in_rule__Prototype__RoofAssignment_717690);
            ruleRoof();

            state._fsp--;

             after(grammarAccess.getPrototypeAccess().getRoofRoofParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prototype__RoofAssignment_7"


    // $ANTLR start "rule__Wall__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8979:1: rule__Wall__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Wall__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8983:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8984:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8984:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8985:1: RULE_ID
            {
             before(grammarAccess.getWallAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Wall__NameAssignment_117721); 
             after(grammarAccess.getWallAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__NameAssignment_1"


    // $ANTLR start "rule__Wall__StartAssignment_5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8994:1: rule__Wall__StartAssignment_5 : ( rulePoint ) ;
    public final void rule__Wall__StartAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8998:1: ( ( rulePoint ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8999:1: ( rulePoint )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:8999:1: ( rulePoint )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9000:1: rulePoint
            {
             before(grammarAccess.getWallAccess().getStartPointParserRuleCall_5_0()); 
            pushFollow(FOLLOW_rulePoint_in_rule__Wall__StartAssignment_517752);
            rulePoint();

            state._fsp--;

             after(grammarAccess.getWallAccess().getStartPointParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__StartAssignment_5"


    // $ANTLR start "rule__Wall__EndAssignment_9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9009:1: rule__Wall__EndAssignment_9 : ( rulePoint ) ;
    public final void rule__Wall__EndAssignment_9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9013:1: ( ( rulePoint ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9014:1: ( rulePoint )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9014:1: ( rulePoint )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9015:1: rulePoint
            {
             before(grammarAccess.getWallAccess().getEndPointParserRuleCall_9_0()); 
            pushFollow(FOLLOW_rulePoint_in_rule__Wall__EndAssignment_917783);
            rulePoint();

            state._fsp--;

             after(grammarAccess.getWallAccess().getEndPointParserRuleCall_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__EndAssignment_9"


    // $ANTLR start "rule__Wall__HeightAssignment_13"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9024:1: rule__Wall__HeightAssignment_13 : ( RULE_STRING ) ;
    public final void rule__Wall__HeightAssignment_13() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9028:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9029:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9029:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9030:1: RULE_STRING
            {
             before(grammarAccess.getWallAccess().getHeightSTRINGTerminalRuleCall_13_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Wall__HeightAssignment_1317814); 
             after(grammarAccess.getWallAccess().getHeightSTRINGTerminalRuleCall_13_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__HeightAssignment_13"


    // $ANTLR start "rule__Wall__TextureAssignment_17"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9039:1: rule__Wall__TextureAssignment_17 : ( RULE_STRING ) ;
    public final void rule__Wall__TextureAssignment_17() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9043:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9044:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9044:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9045:1: RULE_STRING
            {
             before(grammarAccess.getWallAccess().getTextureSTRINGTerminalRuleCall_17_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Wall__TextureAssignment_1717845); 
             after(grammarAccess.getWallAccess().getTextureSTRINGTerminalRuleCall_17_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__TextureAssignment_17"


    // $ANTLR start "rule__Wall__DoorAssignment_19"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9054:1: rule__Wall__DoorAssignment_19 : ( ruleDoor ) ;
    public final void rule__Wall__DoorAssignment_19() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9058:1: ( ( ruleDoor ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9059:1: ( ruleDoor )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9059:1: ( ruleDoor )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9060:1: ruleDoor
            {
             before(grammarAccess.getWallAccess().getDoorDoorParserRuleCall_19_0()); 
            pushFollow(FOLLOW_ruleDoor_in_rule__Wall__DoorAssignment_1917876);
            ruleDoor();

            state._fsp--;

             after(grammarAccess.getWallAccess().getDoorDoorParserRuleCall_19_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__DoorAssignment_19"


    // $ANTLR start "rule__Wall__WindowsAssignment_20"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9069:1: rule__Wall__WindowsAssignment_20 : ( ruleWindow ) ;
    public final void rule__Wall__WindowsAssignment_20() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9073:1: ( ( ruleWindow ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9074:1: ( ruleWindow )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9074:1: ( ruleWindow )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9075:1: ruleWindow
            {
             before(grammarAccess.getWallAccess().getWindowsWindowParserRuleCall_20_0()); 
            pushFollow(FOLLOW_ruleWindow_in_rule__Wall__WindowsAssignment_2017907);
            ruleWindow();

            state._fsp--;

             after(grammarAccess.getWallAccess().getWindowsWindowParserRuleCall_20_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Wall__WindowsAssignment_20"


    // $ANTLR start "rule__Point__XCordAssignment_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9084:1: rule__Point__XCordAssignment_2 : ( RULE_STRING ) ;
    public final void rule__Point__XCordAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9088:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9089:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9089:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9090:1: RULE_STRING
            {
             before(grammarAccess.getPointAccess().getXCordSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Point__XCordAssignment_217938); 
             after(grammarAccess.getPointAccess().getXCordSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__XCordAssignment_2"


    // $ANTLR start "rule__Point__YCordAssignment_4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9099:1: rule__Point__YCordAssignment_4 : ( RULE_STRING ) ;
    public final void rule__Point__YCordAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9103:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9104:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9104:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9105:1: RULE_STRING
            {
             before(grammarAccess.getPointAccess().getYCordSTRINGTerminalRuleCall_4_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Point__YCordAssignment_417969); 
             after(grammarAccess.getPointAccess().getYCordSTRINGTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Point__YCordAssignment_4"


    // $ANTLR start "rule__Roof__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9114:1: rule__Roof__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Roof__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9118:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9119:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9119:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9120:1: RULE_ID
            {
             before(grammarAccess.getRoofAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Roof__NameAssignment_118000); 
             after(grammarAccess.getRoofAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__NameAssignment_1"


    // $ANTLR start "rule__Roof__ElevationAssignment_3_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9129:1: rule__Roof__ElevationAssignment_3_2 : ( RULE_STRING ) ;
    public final void rule__Roof__ElevationAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9133:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9134:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9134:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9135:1: RULE_STRING
            {
             before(grammarAccess.getRoofAccess().getElevationSTRINGTerminalRuleCall_3_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Roof__ElevationAssignment_3_218031); 
             after(grammarAccess.getRoofAccess().getElevationSTRINGTerminalRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__ElevationAssignment_3_2"


    // $ANTLR start "rule__Roof__TextureAssignment_4_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9144:1: rule__Roof__TextureAssignment_4_2 : ( RULE_STRING ) ;
    public final void rule__Roof__TextureAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9148:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9149:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9149:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9150:1: RULE_STRING
            {
             before(grammarAccess.getRoofAccess().getTextureSTRINGTerminalRuleCall_4_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Roof__TextureAssignment_4_218062); 
             after(grammarAccess.getRoofAccess().getTextureSTRINGTerminalRuleCall_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Roof__TextureAssignment_4_2"


    // $ANTLR start "rule__Door__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9159:1: rule__Door__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Door__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9163:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9164:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9164:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9165:1: RULE_ID
            {
             before(grammarAccess.getDoorAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Door__NameAssignment_118093); 
             after(grammarAccess.getDoorAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__NameAssignment_1"


    // $ANTLR start "rule__Door__TranslationAssignment_3_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9174:1: rule__Door__TranslationAssignment_3_0 : ( ruleTranslation ) ;
    public final void rule__Door__TranslationAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9178:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9179:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9179:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9180:1: ruleTranslation
            {
             before(grammarAccess.getDoorAccess().getTranslationTranslationParserRuleCall_3_0_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Door__TranslationAssignment_3_018124);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getDoorAccess().getTranslationTranslationParserRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__TranslationAssignment_3_0"


    // $ANTLR start "rule__Door__PositionAssignment_4_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9189:1: rule__Door__PositionAssignment_4_2 : ( RULE_STRING ) ;
    public final void rule__Door__PositionAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9193:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9194:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9194:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9195:1: RULE_STRING
            {
             before(grammarAccess.getDoorAccess().getPositionSTRINGTerminalRuleCall_4_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Door__PositionAssignment_4_218155); 
             after(grammarAccess.getDoorAccess().getPositionSTRINGTerminalRuleCall_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__PositionAssignment_4_2"


    // $ANTLR start "rule__Door__WidthAssignment_5_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9204:1: rule__Door__WidthAssignment_5_2 : ( RULE_STRING ) ;
    public final void rule__Door__WidthAssignment_5_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9208:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9209:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9209:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9210:1: RULE_STRING
            {
             before(grammarAccess.getDoorAccess().getWidthSTRINGTerminalRuleCall_5_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Door__WidthAssignment_5_218186); 
             after(grammarAccess.getDoorAccess().getWidthSTRINGTerminalRuleCall_5_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__WidthAssignment_5_2"


    // $ANTLR start "rule__Door__HeightAssignment_6_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9219:1: rule__Door__HeightAssignment_6_2 : ( RULE_STRING ) ;
    public final void rule__Door__HeightAssignment_6_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9223:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9224:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9224:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9225:1: RULE_STRING
            {
             before(grammarAccess.getDoorAccess().getHeightSTRINGTerminalRuleCall_6_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Door__HeightAssignment_6_218217); 
             after(grammarAccess.getDoorAccess().getHeightSTRINGTerminalRuleCall_6_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__HeightAssignment_6_2"


    // $ANTLR start "rule__Door__TextureAssignment_7_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9234:1: rule__Door__TextureAssignment_7_2 : ( RULE_STRING ) ;
    public final void rule__Door__TextureAssignment_7_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9238:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9239:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9239:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9240:1: RULE_STRING
            {
             before(grammarAccess.getDoorAccess().getTextureSTRINGTerminalRuleCall_7_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Door__TextureAssignment_7_218248); 
             after(grammarAccess.getDoorAccess().getTextureSTRINGTerminalRuleCall_7_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__TextureAssignment_7_2"


    // $ANTLR start "rule__Door__MarginAssignment_8_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9249:1: rule__Door__MarginAssignment_8_0 : ( ruleMargin ) ;
    public final void rule__Door__MarginAssignment_8_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9253:1: ( ( ruleMargin ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9254:1: ( ruleMargin )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9254:1: ( ruleMargin )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9255:1: ruleMargin
            {
             before(grammarAccess.getDoorAccess().getMarginMarginParserRuleCall_8_0_0()); 
            pushFollow(FOLLOW_ruleMargin_in_rule__Door__MarginAssignment_8_018279);
            ruleMargin();

            state._fsp--;

             after(grammarAccess.getDoorAccess().getMarginMarginParserRuleCall_8_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Door__MarginAssignment_8_0"


    // $ANTLR start "rule__Window__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9264:1: rule__Window__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Window__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9268:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9269:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9269:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9270:1: RULE_ID
            {
             before(grammarAccess.getWindowAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Window__NameAssignment_118310); 
             after(grammarAccess.getWindowAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__NameAssignment_1"


    // $ANTLR start "rule__Window__TranslationAssignment_3_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9279:1: rule__Window__TranslationAssignment_3_0 : ( ruleTranslation ) ;
    public final void rule__Window__TranslationAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9283:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9284:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9284:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9285:1: ruleTranslation
            {
             before(grammarAccess.getWindowAccess().getTranslationTranslationParserRuleCall_3_0_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Window__TranslationAssignment_3_018341);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getWindowAccess().getTranslationTranslationParserRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__TranslationAssignment_3_0"


    // $ANTLR start "rule__Window__PositionAssignment_4_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9294:1: rule__Window__PositionAssignment_4_2 : ( RULE_STRING ) ;
    public final void rule__Window__PositionAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9298:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9299:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9299:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9300:1: RULE_STRING
            {
             before(grammarAccess.getWindowAccess().getPositionSTRINGTerminalRuleCall_4_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Window__PositionAssignment_4_218372); 
             after(grammarAccess.getWindowAccess().getPositionSTRINGTerminalRuleCall_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__PositionAssignment_4_2"


    // $ANTLR start "rule__Window__WidthAssignment_5_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9309:1: rule__Window__WidthAssignment_5_2 : ( RULE_STRING ) ;
    public final void rule__Window__WidthAssignment_5_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9313:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9314:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9314:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9315:1: RULE_STRING
            {
             before(grammarAccess.getWindowAccess().getWidthSTRINGTerminalRuleCall_5_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Window__WidthAssignment_5_218403); 
             after(grammarAccess.getWindowAccess().getWidthSTRINGTerminalRuleCall_5_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__WidthAssignment_5_2"


    // $ANTLR start "rule__Window__HeightAssignment_6_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9324:1: rule__Window__HeightAssignment_6_2 : ( RULE_STRING ) ;
    public final void rule__Window__HeightAssignment_6_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9328:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9329:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9329:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9330:1: RULE_STRING
            {
             before(grammarAccess.getWindowAccess().getHeightSTRINGTerminalRuleCall_6_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Window__HeightAssignment_6_218434); 
             after(grammarAccess.getWindowAccess().getHeightSTRINGTerminalRuleCall_6_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__HeightAssignment_6_2"


    // $ANTLR start "rule__Window__HeightAboveGroundAssignment_7_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9339:1: rule__Window__HeightAboveGroundAssignment_7_2 : ( RULE_STRING ) ;
    public final void rule__Window__HeightAboveGroundAssignment_7_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9343:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9344:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9344:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9345:1: RULE_STRING
            {
             before(grammarAccess.getWindowAccess().getHeightAboveGroundSTRINGTerminalRuleCall_7_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Window__HeightAboveGroundAssignment_7_218465); 
             after(grammarAccess.getWindowAccess().getHeightAboveGroundSTRINGTerminalRuleCall_7_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__HeightAboveGroundAssignment_7_2"


    // $ANTLR start "rule__Window__TextureAssignment_8_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9354:1: rule__Window__TextureAssignment_8_2 : ( RULE_STRING ) ;
    public final void rule__Window__TextureAssignment_8_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9358:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9359:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9359:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9360:1: RULE_STRING
            {
             before(grammarAccess.getWindowAccess().getTextureSTRINGTerminalRuleCall_8_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Window__TextureAssignment_8_218496); 
             after(grammarAccess.getWindowAccess().getTextureSTRINGTerminalRuleCall_8_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__TextureAssignment_8_2"


    // $ANTLR start "rule__Window__MarginAssignment_9_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9369:1: rule__Window__MarginAssignment_9_0 : ( ruleMargin ) ;
    public final void rule__Window__MarginAssignment_9_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9373:1: ( ( ruleMargin ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9374:1: ( ruleMargin )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9374:1: ( ruleMargin )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9375:1: ruleMargin
            {
             before(grammarAccess.getWindowAccess().getMarginMarginParserRuleCall_9_0_0()); 
            pushFollow(FOLLOW_ruleMargin_in_rule__Window__MarginAssignment_9_018527);
            ruleMargin();

            state._fsp--;

             after(grammarAccess.getWindowAccess().getMarginMarginParserRuleCall_9_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__MarginAssignment_9_0"


    // $ANTLR start "rule__Window__PointsAssignment_10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9384:1: rule__Window__PointsAssignment_10 : ( rulePoint ) ;
    public final void rule__Window__PointsAssignment_10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9388:1: ( ( rulePoint ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9389:1: ( rulePoint )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9389:1: ( rulePoint )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9390:1: rulePoint
            {
             before(grammarAccess.getWindowAccess().getPointsPointParserRuleCall_10_0()); 
            pushFollow(FOLLOW_rulePoint_in_rule__Window__PointsAssignment_1018558);
            rulePoint();

            state._fsp--;

             after(grammarAccess.getWindowAccess().getPointsPointParserRuleCall_10_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Window__PointsAssignment_10"


    // $ANTLR start "rule__Margin__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9399:1: rule__Margin__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Margin__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9403:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9404:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9404:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9405:1: RULE_ID
            {
             before(grammarAccess.getMarginAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Margin__NameAssignment_118589); 
             after(grammarAccess.getMarginAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__NameAssignment_1"


    // $ANTLR start "rule__Margin__ValueAssignment_5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9414:1: rule__Margin__ValueAssignment_5 : ( RULE_STRING ) ;
    public final void rule__Margin__ValueAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9418:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9419:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9419:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9420:1: RULE_STRING
            {
             before(grammarAccess.getMarginAccess().getValueSTRINGTerminalRuleCall_5_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Margin__ValueAssignment_518620); 
             after(grammarAccess.getMarginAccess().getValueSTRINGTerminalRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__ValueAssignment_5"


    // $ANTLR start "rule__Margin__TextureAssignment_7_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9429:1: rule__Margin__TextureAssignment_7_2 : ( RULE_STRING ) ;
    public final void rule__Margin__TextureAssignment_7_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9433:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9434:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9434:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9435:1: RULE_STRING
            {
             before(grammarAccess.getMarginAccess().getTextureSTRINGTerminalRuleCall_7_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Margin__TextureAssignment_7_218651); 
             after(grammarAccess.getMarginAccess().getTextureSTRINGTerminalRuleCall_7_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Margin__TextureAssignment_7_2"


    // $ANTLR start "rule__Building__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9444:1: rule__Building__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Building__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9448:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9449:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9449:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9450:1: RULE_ID
            {
             before(grammarAccess.getBuildingAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Building__NameAssignment_118682); 
             after(grammarAccess.getBuildingAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__NameAssignment_1"


    // $ANTLR start "rule__Building__TranslationAssignment_3_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9459:1: rule__Building__TranslationAssignment_3_0 : ( ruleTranslation ) ;
    public final void rule__Building__TranslationAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9463:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9464:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9464:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9465:1: ruleTranslation
            {
             before(grammarAccess.getBuildingAccess().getTranslationTranslationParserRuleCall_3_0_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Building__TranslationAssignment_3_018713);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getBuildingAccess().getTranslationTranslationParserRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__TranslationAssignment_3_0"


    // $ANTLR start "rule__Building__PrototypeAssignment_6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9474:1: rule__Building__PrototypeAssignment_6 : ( RULE_STRING ) ;
    public final void rule__Building__PrototypeAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9478:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9479:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9479:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9480:1: RULE_STRING
            {
             before(grammarAccess.getBuildingAccess().getPrototypeSTRINGTerminalRuleCall_6_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Building__PrototypeAssignment_618744); 
             after(grammarAccess.getBuildingAccess().getPrototypeSTRINGTerminalRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Building__PrototypeAssignment_6"


    // $ANTLR start "rule__Circle__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9489:1: rule__Circle__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Circle__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9493:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9494:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9494:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9495:1: RULE_ID
            {
             before(grammarAccess.getCircleAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Circle__NameAssignment_118775); 
             after(grammarAccess.getCircleAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__NameAssignment_1"


    // $ANTLR start "rule__Circle__TranslationAssignment_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9504:1: rule__Circle__TranslationAssignment_3 : ( ruleTranslation ) ;
    public final void rule__Circle__TranslationAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9508:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9509:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9509:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9510:1: ruleTranslation
            {
             before(grammarAccess.getCircleAccess().getTranslationTranslationParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Circle__TranslationAssignment_318806);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getCircleAccess().getTranslationTranslationParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__TranslationAssignment_3"


    // $ANTLR start "rule__Circle__RadiusAssignment_7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9519:1: rule__Circle__RadiusAssignment_7 : ( RULE_STRING ) ;
    public final void rule__Circle__RadiusAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9523:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9524:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9524:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9525:1: RULE_STRING
            {
             before(grammarAccess.getCircleAccess().getRadiusSTRINGTerminalRuleCall_7_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Circle__RadiusAssignment_718837); 
             after(grammarAccess.getCircleAccess().getRadiusSTRINGTerminalRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__RadiusAssignment_7"


    // $ANTLR start "rule__Circle__HeightAssignment_11"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9534:1: rule__Circle__HeightAssignment_11 : ( RULE_STRING ) ;
    public final void rule__Circle__HeightAssignment_11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9538:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9539:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9539:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9540:1: RULE_STRING
            {
             before(grammarAccess.getCircleAccess().getHeightSTRINGTerminalRuleCall_11_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Circle__HeightAssignment_1118868); 
             after(grammarAccess.getCircleAccess().getHeightSTRINGTerminalRuleCall_11_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__HeightAssignment_11"


    // $ANTLR start "rule__Circle__TextureAssignment_13_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9549:1: rule__Circle__TextureAssignment_13_2 : ( RULE_STRING ) ;
    public final void rule__Circle__TextureAssignment_13_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9553:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9554:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9554:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9555:1: RULE_STRING
            {
             before(grammarAccess.getCircleAccess().getTextureSTRINGTerminalRuleCall_13_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Circle__TextureAssignment_13_218899); 
             after(grammarAccess.getCircleAccess().getTextureSTRINGTerminalRuleCall_13_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__TextureAssignment_13_2"


    // $ANTLR start "rule__Circle__MarginAssignment_14_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9564:1: rule__Circle__MarginAssignment_14_0 : ( ruleMargin ) ;
    public final void rule__Circle__MarginAssignment_14_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9568:1: ( ( ruleMargin ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9569:1: ( ruleMargin )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9569:1: ( ruleMargin )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9570:1: ruleMargin
            {
             before(grammarAccess.getCircleAccess().getMarginMarginParserRuleCall_14_0_0()); 
            pushFollow(FOLLOW_ruleMargin_in_rule__Circle__MarginAssignment_14_018930);
            ruleMargin();

            state._fsp--;

             after(grammarAccess.getCircleAccess().getMarginMarginParserRuleCall_14_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Circle__MarginAssignment_14_0"


    // $ANTLR start "rule__Polygon__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9579:1: rule__Polygon__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Polygon__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9583:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9584:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9584:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9585:1: RULE_ID
            {
             before(grammarAccess.getPolygonAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Polygon__NameAssignment_118961); 
             after(grammarAccess.getPolygonAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__NameAssignment_1"


    // $ANTLR start "rule__Polygon__TranslationAssignment_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9594:1: rule__Polygon__TranslationAssignment_3 : ( ruleTranslation ) ;
    public final void rule__Polygon__TranslationAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9598:1: ( ( ruleTranslation ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9599:1: ( ruleTranslation )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9599:1: ( ruleTranslation )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9600:1: ruleTranslation
            {
             before(grammarAccess.getPolygonAccess().getTranslationTranslationParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleTranslation_in_rule__Polygon__TranslationAssignment_318992);
            ruleTranslation();

            state._fsp--;

             after(grammarAccess.getPolygonAccess().getTranslationTranslationParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__TranslationAssignment_3"


    // $ANTLR start "rule__Polygon__WidthAssignment_5_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9609:1: rule__Polygon__WidthAssignment_5_2 : ( RULE_STRING ) ;
    public final void rule__Polygon__WidthAssignment_5_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9613:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9614:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9614:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9615:1: RULE_STRING
            {
             before(grammarAccess.getPolygonAccess().getWidthSTRINGTerminalRuleCall_5_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Polygon__WidthAssignment_5_219023); 
             after(grammarAccess.getPolygonAccess().getWidthSTRINGTerminalRuleCall_5_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__WidthAssignment_5_2"


    // $ANTLR start "rule__Polygon__HeightAssignment_6_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9624:1: rule__Polygon__HeightAssignment_6_2 : ( RULE_STRING ) ;
    public final void rule__Polygon__HeightAssignment_6_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9628:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9629:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9629:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9630:1: RULE_STRING
            {
             before(grammarAccess.getPolygonAccess().getHeightSTRINGTerminalRuleCall_6_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Polygon__HeightAssignment_6_219054); 
             after(grammarAccess.getPolygonAccess().getHeightSTRINGTerminalRuleCall_6_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__HeightAssignment_6_2"


    // $ANTLR start "rule__Polygon__TextureAssignment_7_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9639:1: rule__Polygon__TextureAssignment_7_2 : ( RULE_STRING ) ;
    public final void rule__Polygon__TextureAssignment_7_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9643:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9644:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9644:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9645:1: RULE_STRING
            {
             before(grammarAccess.getPolygonAccess().getTextureSTRINGTerminalRuleCall_7_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Polygon__TextureAssignment_7_219085); 
             after(grammarAccess.getPolygonAccess().getTextureSTRINGTerminalRuleCall_7_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__TextureAssignment_7_2"


    // $ANTLR start "rule__Polygon__MarginAssignment_8_0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9654:1: rule__Polygon__MarginAssignment_8_0 : ( ruleMargin ) ;
    public final void rule__Polygon__MarginAssignment_8_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9658:1: ( ( ruleMargin ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9659:1: ( ruleMargin )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9659:1: ( ruleMargin )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9660:1: ruleMargin
            {
             before(grammarAccess.getPolygonAccess().getMarginMarginParserRuleCall_8_0_0()); 
            pushFollow(FOLLOW_ruleMargin_in_rule__Polygon__MarginAssignment_8_019116);
            ruleMargin();

            state._fsp--;

             after(grammarAccess.getPolygonAccess().getMarginMarginParserRuleCall_8_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__MarginAssignment_8_0"


    // $ANTLR start "rule__Polygon__PointsAssignment_9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9669:1: rule__Polygon__PointsAssignment_9 : ( rulePoint ) ;
    public final void rule__Polygon__PointsAssignment_9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9673:1: ( ( rulePoint ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9674:1: ( rulePoint )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9674:1: ( rulePoint )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:9675:1: rulePoint
            {
             before(grammarAccess.getPolygonAccess().getPointsPointParserRuleCall_9_0()); 
            pushFollow(FOLLOW_rulePoint_in_rule__Polygon__PointsAssignment_919147);
            rulePoint();

            state._fsp--;

             after(grammarAccess.getPolygonAccess().getPointsPointParserRuleCall_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Polygon__PointsAssignment_9"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__ElementsAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000004802L});
    public static final BitSet FOLLOW_ruleType_in_entryRuleType122 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleType129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Alternatives_in_ruleType155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLibrary_in_entryRuleLibrary182 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLibrary189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__Group__0_in_ruleLibrary215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScene_in_entryRuleScene242 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleScene249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__0_in_ruleScene275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParametric_in_entryRuleParametric302 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleParametric309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__0_in_ruleParametric335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTexture_in_entryRuleTexture362 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTexture369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__0_in_ruleTexture395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_entryRuleTranslation422 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTranslation429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__0_in_ruleTranslation455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrototype_in_entryRulePrototype482 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePrototype489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__0_in_rulePrototype515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWall_in_entryRuleWall542 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWall549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__0_in_ruleWall575 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePoint_in_entryRulePoint602 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePoint609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__0_in_rulePoint635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRoof_in_entryRuleRoof662 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRoof669 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__0_in_ruleRoof695 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOpening_in_entryRuleOpening722 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleOpening729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Opening__Alternatives_in_ruleOpening755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoor_in_entryRuleDoor782 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDoor789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__0_in_ruleDoor815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWindow_in_entryRuleWindow842 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWindow849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__0_in_ruleWindow875 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMargin_in_entryRuleMargin902 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMargin909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__0_in_ruleMargin935 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBuilding_in_entryRuleBuilding962 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBuilding969 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__0_in_ruleBuilding995 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSurface_in_entryRuleSurface1022 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSurface1029 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Surface__Alternatives_in_ruleSurface1055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCircle_in_entryRuleCircle1082 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCircle1089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__0_in_ruleCircle1115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePolygon_in_entryRulePolygon1142 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePolygon1149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__0_in_rulePolygon1175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLibrary_in_rule__Type__Alternatives1211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScene_in_rule__Type__Alternatives1228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoor_in_rule__Opening__Alternatives1260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWindow_in_rule__Opening__Alternatives1277 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCircle_in_rule__Surface__Alternatives1309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePolygon_in_rule__Surface__Alternatives1326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__Group__0__Impl_in_rule__Library__Group__01356 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Library__Group__1_in_rule__Library__Group__01359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__Library__Group__0__Impl1387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__Group__1__Impl_in_rule__Library__Group__11418 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Library__Group__2_in_rule__Library__Group__11421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__NameAssignment_1_in_rule__Library__Group__1__Impl1448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__Group__2__Impl_in_rule__Library__Group__21478 = new BitSet(new long[]{0x0000000010202000L});
    public static final BitSet FOLLOW_rule__Library__Group__3_in_rule__Library__Group__21481 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Library__Group__2__Impl1509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__Group__3__Impl_in_rule__Library__Group__31540 = new BitSet(new long[]{0x0000000010202000L});
    public static final BitSet FOLLOW_rule__Library__Group__4_in_rule__Library__Group__31543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__TexturesAssignment_3_in_rule__Library__Group__3__Impl1570 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Library__Group__4__Impl_in_rule__Library__Group__41601 = new BitSet(new long[]{0x0000000010202000L});
    public static final BitSet FOLLOW_rule__Library__Group__5_in_rule__Library__Group__41604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Library__PrototypesAssignment_4_in_rule__Library__Group__4__Impl1631 = new BitSet(new long[]{0x0000000010000002L});
    public static final BitSet FOLLOW_rule__Library__Group__5__Impl_in_rule__Library__Group__51662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Library__Group__5__Impl1690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__0__Impl_in_rule__Scene__Group__01733 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Scene__Group__1_in_rule__Scene__Group__01736 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Scene__Group__0__Impl1764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__1__Impl_in_rule__Scene__Group__11795 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Scene__Group__2_in_rule__Scene__Group__11798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__NameAssignment_1_in_rule__Scene__Group__1__Impl1825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__2__Impl_in_rule__Scene__Group__21855 = new BitSet(new long[]{0x000016000000A000L});
    public static final BitSet FOLLOW_rule__Scene__Group__3_in_rule__Scene__Group__21858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Scene__Group__2__Impl1886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__3__Impl_in_rule__Scene__Group__31917 = new BitSet(new long[]{0x000016000000A000L});
    public static final BitSet FOLLOW_rule__Scene__Group__4_in_rule__Scene__Group__31920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__ParametricsAssignment_3_in_rule__Scene__Group__3__Impl1947 = new BitSet(new long[]{0x0000000000008002L});
    public static final BitSet FOLLOW_rule__Scene__Group__4__Impl_in_rule__Scene__Group__41978 = new BitSet(new long[]{0x000016000000A000L});
    public static final BitSet FOLLOW_rule__Scene__Group__5_in_rule__Scene__Group__41981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__BuildingsAssignment_4_in_rule__Scene__Group__4__Impl2008 = new BitSet(new long[]{0x0000020000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__5__Impl_in_rule__Scene__Group__52039 = new BitSet(new long[]{0x000016000000A000L});
    public static final BitSet FOLLOW_rule__Scene__Group__6_in_rule__Scene__Group__52042 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scene__SurfacesAssignment_5_in_rule__Scene__Group__5__Impl2069 = new BitSet(new long[]{0x0000140000000002L});
    public static final BitSet FOLLOW_rule__Scene__Group__6__Impl_in_rule__Scene__Group__62100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Scene__Group__6__Impl2128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__0__Impl_in_rule__Parametric__Group__02173 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Parametric__Group__1_in_rule__Parametric__Group__02176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Parametric__Group__0__Impl2204 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__1__Impl_in_rule__Parametric__Group__12235 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__2_in_rule__Parametric__Group__12238 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__NameAssignment_1_in_rule__Parametric__Group__1__Impl2265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__2__Impl_in_rule__Parametric__Group__22295 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__3_in_rule__Parametric__Group__22298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Parametric__Group__2__Impl2326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__3__Impl_in_rule__Parametric__Group__32357 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__4_in_rule__Parametric__Group__32360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__TranslationAssignment_3_in_rule__Parametric__Group__3__Impl2387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__4__Impl_in_rule__Parametric__Group__42417 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__5_in_rule__Parametric__Group__42420 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Parametric__Group__4__Impl2448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__5__Impl_in_rule__Parametric__Group__52479 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__6_in_rule__Parametric__Group__52482 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Parametric__Group__5__Impl2510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__6__Impl_in_rule__Parametric__Group__62541 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Parametric__Group__7_in_rule__Parametric__Group__62544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Parametric__Group__6__Impl2572 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__7__Impl_in_rule__Parametric__Group__72603 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__8_in_rule__Parametric__Group__72606 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__WidthAssignment_7_in_rule__Parametric__Group__7__Impl2633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__8__Impl_in_rule__Parametric__Group__82663 = new BitSet(new long[]{0x0000000000382000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__9_in_rule__Parametric__Group__82666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Parametric__Group__8__Impl2694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__9__Impl_in_rule__Parametric__Group__92725 = new BitSet(new long[]{0x0000000000382000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__10_in_rule__Parametric__Group__92728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__0_in_rule__Parametric__Group__9__Impl2755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__10__Impl_in_rule__Parametric__Group__102786 = new BitSet(new long[]{0x0000000000382000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__11_in_rule__Parametric__Group__102789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__0_in_rule__Parametric__Group__10__Impl2816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__11__Impl_in_rule__Parametric__Group__112847 = new BitSet(new long[]{0x0000000000382000L});
    public static final BitSet FOLLOW_rule__Parametric__Group__12_in_rule__Parametric__Group__112850 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__0_in_rule__Parametric__Group__11__Impl2877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group__12__Impl_in_rule__Parametric__Group__122908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Parametric__Group__12__Impl2936 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__0__Impl_in_rule__Parametric__Group_9__02993 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__1_in_rule__Parametric__Group_9__02996 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Parametric__Group_9__0__Impl3024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__1__Impl_in_rule__Parametric__Group_9__13055 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__2_in_rule__Parametric__Group_9__13058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Parametric__Group_9__1__Impl3086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__2__Impl_in_rule__Parametric__Group_9__23117 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__3_in_rule__Parametric__Group_9__23120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__LengthAssignment_9_2_in_rule__Parametric__Group_9__2__Impl3147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_9__3__Impl_in_rule__Parametric__Group_9__33177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Parametric__Group_9__3__Impl3205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__0__Impl_in_rule__Parametric__Group_10__03244 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__1_in_rule__Parametric__Group_10__03247 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Parametric__Group_10__0__Impl3275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__1__Impl_in_rule__Parametric__Group_10__13306 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__2_in_rule__Parametric__Group_10__13309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Parametric__Group_10__1__Impl3337 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__2__Impl_in_rule__Parametric__Group_10__23368 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__3_in_rule__Parametric__Group_10__23371 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__HeightAssignment_10_2_in_rule__Parametric__Group_10__2__Impl3398 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_10__3__Impl_in_rule__Parametric__Group_10__33428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Parametric__Group_10__3__Impl3456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__0__Impl_in_rule__Parametric__Group_11__03495 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__1_in_rule__Parametric__Group_11__03498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Parametric__Group_11__0__Impl3526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__1__Impl_in_rule__Parametric__Group_11__13557 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__2_in_rule__Parametric__Group_11__13560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Parametric__Group_11__1__Impl3588 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__2__Impl_in_rule__Parametric__Group_11__23619 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__3_in_rule__Parametric__Group_11__23622 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__TextureAssignment_11_2_in_rule__Parametric__Group_11__2__Impl3649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parametric__Group_11__3__Impl_in_rule__Parametric__Group_11__33679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Parametric__Group_11__3__Impl3707 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__0__Impl_in_rule__Texture__Group__03746 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Texture__Group__1_in_rule__Texture__Group__03749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Texture__Group__0__Impl3777 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__1__Impl_in_rule__Texture__Group__13808 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Texture__Group__2_in_rule__Texture__Group__13811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__NameAssignment_1_in_rule__Texture__Group__1__Impl3838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__2__Impl_in_rule__Texture__Group__23868 = new BitSet(new long[]{0x0000000000C02000L});
    public static final BitSet FOLLOW_rule__Texture__Group__3_in_rule__Texture__Group__23871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Texture__Group__2__Impl3899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__3__Impl_in_rule__Texture__Group__33930 = new BitSet(new long[]{0x0000000000C02000L});
    public static final BitSet FOLLOW_rule__Texture__Group__4_in_rule__Texture__Group__33933 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__0_in_rule__Texture__Group__3__Impl3960 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__4__Impl_in_rule__Texture__Group__43991 = new BitSet(new long[]{0x0000000000C02000L});
    public static final BitSet FOLLOW_rule__Texture__Group__5_in_rule__Texture__Group__43994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__0_in_rule__Texture__Group__4__Impl4021 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group__5__Impl_in_rule__Texture__Group__54052 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Texture__Group__5__Impl4080 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__0__Impl_in_rule__Texture__Group_3__04123 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__1_in_rule__Texture__Group_3__04126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Texture__Group_3__0__Impl4154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__1__Impl_in_rule__Texture__Group_3__14185 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__2_in_rule__Texture__Group_3__14188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Texture__Group_3__1__Impl4216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__2__Impl_in_rule__Texture__Group_3__24247 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__3_in_rule__Texture__Group_3__24250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__ImgURLAssignment_3_2_in_rule__Texture__Group_3__2__Impl4277 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_3__3__Impl_in_rule__Texture__Group_3__34307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Texture__Group_3__3__Impl4335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__0__Impl_in_rule__Texture__Group_4__04374 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__1_in_rule__Texture__Group_4__04377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Texture__Group_4__0__Impl4405 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__1__Impl_in_rule__Texture__Group_4__14436 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__2_in_rule__Texture__Group_4__14439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Texture__Group_4__1__Impl4467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__2__Impl_in_rule__Texture__Group_4__24498 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__3_in_rule__Texture__Group_4__24501 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__ColorAssignment_4_2_in_rule__Texture__Group_4__2__Impl4528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Texture__Group_4__3__Impl_in_rule__Texture__Group_4__34558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Texture__Group_4__3__Impl4586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__0__Impl_in_rule__Translation__Group__04625 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_rule__Translation__Group__1_in_rule__Translation__Group__04628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Translation__Group__0__Impl4656 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__1__Impl_in_rule__Translation__Group__14687 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Translation__Group__2_in_rule__Translation__Group__14690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Translation__Group__1__Impl4718 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__2__Impl_in_rule__Translation__Group__24749 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__Translation__Group__3_in_rule__Translation__Group__24752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__XCordAssignment_2_in_rule__Translation__Group__2__Impl4779 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__3__Impl_in_rule__Translation__Group__34809 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Translation__Group__4_in_rule__Translation__Group__34812 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Translation__Group__3__Impl4840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__4__Impl_in_rule__Translation__Group__44871 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__Translation__Group__5_in_rule__Translation__Group__44874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__YCordAssignment_4_in_rule__Translation__Group__4__Impl4901 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__5__Impl_in_rule__Translation__Group__54931 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Translation__Group__6_in_rule__Translation__Group__54934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Translation__Group__5__Impl4962 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__6__Impl_in_rule__Translation__Group__64993 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_rule__Translation__Group__7_in_rule__Translation__Group__64996 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__ZCordAssignment_6_in_rule__Translation__Group__6__Impl5023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Translation__Group__7__Impl_in_rule__Translation__Group__75053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Translation__Group__7__Impl5081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__0__Impl_in_rule__Prototype__Group__05128 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Prototype__Group__1_in_rule__Prototype__Group__05131 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Prototype__Group__0__Impl5159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__1__Impl_in_rule__Prototype__Group__15190 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__2_in_rule__Prototype__Group__15193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__NameAssignment_1_in_rule__Prototype__Group__1__Impl5220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__2__Impl_in_rule__Prototype__Group__25250 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__3_in_rule__Prototype__Group__25253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Prototype__Group__2__Impl5281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__3__Impl_in_rule__Prototype__Group__35312 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__4_in_rule__Prototype__Group__35315 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__TranslationAssignment_3_in_rule__Prototype__Group__3__Impl5342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__4__Impl_in_rule__Prototype__Group__45372 = new BitSet(new long[]{0x0000002A20002000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__5_in_rule__Prototype__Group__45375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Prototype__Group__4__Impl5403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__5__Impl_in_rule__Prototype__Group__55434 = new BitSet(new long[]{0x0000002A20002000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__6_in_rule__Prototype__Group__55437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__WallsAssignment_5_in_rule__Prototype__Group__5__Impl5464 = new BitSet(new long[]{0x0000000020000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__6__Impl_in_rule__Prototype__Group__65495 = new BitSet(new long[]{0x0000002A20002000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__7_in_rule__Prototype__Group__65498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__OpeningsAssignment_6_in_rule__Prototype__Group__6__Impl5525 = new BitSet(new long[]{0x0000002800000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__7__Impl_in_rule__Prototype__Group__75556 = new BitSet(new long[]{0x0000002A20002000L});
    public static final BitSet FOLLOW_rule__Prototype__Group__8_in_rule__Prototype__Group__75559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__RoofAssignment_7_in_rule__Prototype__Group__7__Impl5586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prototype__Group__8__Impl_in_rule__Prototype__Group__85617 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Prototype__Group__8__Impl5645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__0__Impl_in_rule__Wall__Group__05694 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Wall__Group__1_in_rule__Wall__Group__05697 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Wall__Group__0__Impl5725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__1__Impl_in_rule__Wall__Group__15756 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Wall__Group__2_in_rule__Wall__Group__15759 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__NameAssignment_1_in_rule__Wall__Group__1__Impl5786 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__2__Impl_in_rule__Wall__Group__25816 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Wall__Group__3_in_rule__Wall__Group__25819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Wall__Group__2__Impl5847 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__3__Impl_in_rule__Wall__Group__35878 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Wall__Group__4_in_rule__Wall__Group__35881 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Wall__Group__3__Impl5909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__4__Impl_in_rule__Wall__Group__45940 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_rule__Wall__Group__5_in_rule__Wall__Group__45943 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Wall__Group__4__Impl5971 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__5__Impl_in_rule__Wall__Group__56002 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Wall__Group__6_in_rule__Wall__Group__56005 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__StartAssignment_5_in_rule__Wall__Group__5__Impl6032 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__6__Impl_in_rule__Wall__Group__66062 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_rule__Wall__Group__7_in_rule__Wall__Group__66065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Wall__Group__6__Impl6093 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__7__Impl_in_rule__Wall__Group__76124 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Wall__Group__8_in_rule__Wall__Group__76127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Wall__Group__7__Impl6155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__8__Impl_in_rule__Wall__Group__86186 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_rule__Wall__Group__9_in_rule__Wall__Group__86189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Wall__Group__8__Impl6217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__9__Impl_in_rule__Wall__Group__96248 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Wall__Group__10_in_rule__Wall__Group__96251 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__EndAssignment_9_in_rule__Wall__Group__9__Impl6278 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__10__Impl_in_rule__Wall__Group__106308 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Wall__Group__11_in_rule__Wall__Group__106311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Wall__Group__10__Impl6339 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__11__Impl_in_rule__Wall__Group__116370 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Wall__Group__12_in_rule__Wall__Group__116373 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Wall__Group__11__Impl6401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__12__Impl_in_rule__Wall__Group__126432 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Wall__Group__13_in_rule__Wall__Group__126435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Wall__Group__12__Impl6463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__13__Impl_in_rule__Wall__Group__136494 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Wall__Group__14_in_rule__Wall__Group__136497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__HeightAssignment_13_in_rule__Wall__Group__13__Impl6524 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__14__Impl_in_rule__Wall__Group__146554 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_rule__Wall__Group__15_in_rule__Wall__Group__146557 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Wall__Group__14__Impl6585 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__15__Impl_in_rule__Wall__Group__156616 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Wall__Group__16_in_rule__Wall__Group__156619 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Wall__Group__15__Impl6647 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__16__Impl_in_rule__Wall__Group__166678 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Wall__Group__17_in_rule__Wall__Group__166681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Wall__Group__16__Impl6709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__17__Impl_in_rule__Wall__Group__176740 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Wall__Group__18_in_rule__Wall__Group__176743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__TextureAssignment_17_in_rule__Wall__Group__17__Impl6770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__18__Impl_in_rule__Wall__Group__186800 = new BitSet(new long[]{0x0000002800002000L});
    public static final BitSet FOLLOW_rule__Wall__Group__19_in_rule__Wall__Group__186803 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Wall__Group__18__Impl6831 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__19__Impl_in_rule__Wall__Group__196862 = new BitSet(new long[]{0x0000002800002000L});
    public static final BitSet FOLLOW_rule__Wall__Group__20_in_rule__Wall__Group__196865 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__DoorAssignment_19_in_rule__Wall__Group__19__Impl6892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__20__Impl_in_rule__Wall__Group__206923 = new BitSet(new long[]{0x0000002800002000L});
    public static final BitSet FOLLOW_rule__Wall__Group__21_in_rule__Wall__Group__206926 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Wall__WindowsAssignment_20_in_rule__Wall__Group__20__Impl6953 = new BitSet(new long[]{0x0000002800000002L});
    public static final BitSet FOLLOW_rule__Wall__Group__21__Impl_in_rule__Wall__Group__216984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Wall__Group__21__Impl7012 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__0__Impl_in_rule__Point__Group__07087 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_rule__Point__Group__1_in_rule__Point__Group__07090 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Point__Group__0__Impl7118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__1__Impl_in_rule__Point__Group__17149 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Point__Group__2_in_rule__Point__Group__17152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Point__Group__1__Impl7180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__2__Impl_in_rule__Point__Group__27211 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__Point__Group__3_in_rule__Point__Group__27214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__XCordAssignment_2_in_rule__Point__Group__2__Impl7241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__3__Impl_in_rule__Point__Group__37271 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Point__Group__4_in_rule__Point__Group__37274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Point__Group__3__Impl7302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__4__Impl_in_rule__Point__Group__47333 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_rule__Point__Group__5_in_rule__Point__Group__47336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__YCordAssignment_4_in_rule__Point__Group__4__Impl7363 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Point__Group__5__Impl_in_rule__Point__Group__57393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Point__Group__5__Impl7421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__0__Impl_in_rule__Roof__Group__07464 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Roof__Group__1_in_rule__Roof__Group__07467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__Roof__Group__0__Impl7495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__1__Impl_in_rule__Roof__Group__17526 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Roof__Group__2_in_rule__Roof__Group__17529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__NameAssignment_1_in_rule__Roof__Group__1__Impl7556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__2__Impl_in_rule__Roof__Group__27586 = new BitSet(new long[]{0x0000000400202000L});
    public static final BitSet FOLLOW_rule__Roof__Group__3_in_rule__Roof__Group__27589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Roof__Group__2__Impl7617 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__3__Impl_in_rule__Roof__Group__37648 = new BitSet(new long[]{0x0000000400202000L});
    public static final BitSet FOLLOW_rule__Roof__Group__4_in_rule__Roof__Group__37651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__0_in_rule__Roof__Group__3__Impl7678 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__4__Impl_in_rule__Roof__Group__47709 = new BitSet(new long[]{0x0000000400202000L});
    public static final BitSet FOLLOW_rule__Roof__Group__5_in_rule__Roof__Group__47712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__0_in_rule__Roof__Group__4__Impl7739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group__5__Impl_in_rule__Roof__Group__57770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Roof__Group__5__Impl7798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__0__Impl_in_rule__Roof__Group_3__07841 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__1_in_rule__Roof__Group_3__07844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__Roof__Group_3__0__Impl7872 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__1__Impl_in_rule__Roof__Group_3__17903 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__2_in_rule__Roof__Group_3__17906 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Roof__Group_3__1__Impl7934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__2__Impl_in_rule__Roof__Group_3__27965 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__3_in_rule__Roof__Group_3__27968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__ElevationAssignment_3_2_in_rule__Roof__Group_3__2__Impl7995 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_3__3__Impl_in_rule__Roof__Group_3__38025 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Roof__Group_3__3__Impl8053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__0__Impl_in_rule__Roof__Group_4__08092 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__1_in_rule__Roof__Group_4__08095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Roof__Group_4__0__Impl8123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__1__Impl_in_rule__Roof__Group_4__18154 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__2_in_rule__Roof__Group_4__18157 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Roof__Group_4__1__Impl8185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__2__Impl_in_rule__Roof__Group_4__28216 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__3_in_rule__Roof__Group_4__28219 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__TextureAssignment_4_2_in_rule__Roof__Group_4__2__Impl8246 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Roof__Group_4__3__Impl_in_rule__Roof__Group_4__38276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Roof__Group_4__3__Impl8304 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__0__Impl_in_rule__Door__Group__08343 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Door__Group__1_in_rule__Door__Group__08346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Door__Group__0__Impl8374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__1__Impl_in_rule__Door__Group__18405 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Door__Group__2_in_rule__Door__Group__18408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__NameAssignment_1_in_rule__Door__Group__1__Impl8435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__2__Impl_in_rule__Door__Group__28465 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__3_in_rule__Door__Group__28468 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Door__Group__2__Impl8496 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__3__Impl_in_rule__Door__Group__38527 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__4_in_rule__Door__Group__38530 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_3__0_in_rule__Door__Group__3__Impl8557 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__4__Impl_in_rule__Door__Group__48588 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__5_in_rule__Door__Group__48591 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_4__0_in_rule__Door__Group__4__Impl8618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__5__Impl_in_rule__Door__Group__58649 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__6_in_rule__Door__Group__58652 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_5__0_in_rule__Door__Group__5__Impl8679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__6__Impl_in_rule__Door__Group__68710 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__7_in_rule__Door__Group__68713 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_6__0_in_rule__Door__Group__6__Impl8740 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__7__Impl_in_rule__Door__Group__78771 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__8_in_rule__Door__Group__78774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_7__0_in_rule__Door__Group__7__Impl8801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__8__Impl_in_rule__Door__Group__88832 = new BitSet(new long[]{0x0000009001322000L});
    public static final BitSet FOLLOW_rule__Door__Group__9_in_rule__Door__Group__88835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_8__0_in_rule__Door__Group__8__Impl8862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group__9__Impl_in_rule__Door__Group__98893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Door__Group__9__Impl8921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_3__0__Impl_in_rule__Door__Group_3__08972 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Door__Group_3__1_in_rule__Door__Group_3__08975 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__TranslationAssignment_3_0_in_rule__Door__Group_3__0__Impl9002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_3__1__Impl_in_rule__Door__Group_3__19032 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Door__Group_3__1__Impl9060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_4__0__Impl_in_rule__Door__Group_4__09095 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Door__Group_4__1_in_rule__Door__Group_4__09098 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Door__Group_4__0__Impl9126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_4__1__Impl_in_rule__Door__Group_4__19157 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Door__Group_4__2_in_rule__Door__Group_4__19160 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Door__Group_4__1__Impl9188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_4__2__Impl_in_rule__Door__Group_4__29219 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Door__Group_4__3_in_rule__Door__Group_4__29222 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__PositionAssignment_4_2_in_rule__Door__Group_4__2__Impl9249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_4__3__Impl_in_rule__Door__Group_4__39279 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Door__Group_4__3__Impl9307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_5__0__Impl_in_rule__Door__Group_5__09346 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Door__Group_5__1_in_rule__Door__Group_5__09349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Door__Group_5__0__Impl9377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_5__1__Impl_in_rule__Door__Group_5__19408 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Door__Group_5__2_in_rule__Door__Group_5__19411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Door__Group_5__1__Impl9439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_5__2__Impl_in_rule__Door__Group_5__29470 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Door__Group_5__3_in_rule__Door__Group_5__29473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__WidthAssignment_5_2_in_rule__Door__Group_5__2__Impl9500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_5__3__Impl_in_rule__Door__Group_5__39530 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Door__Group_5__3__Impl9558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_6__0__Impl_in_rule__Door__Group_6__09597 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Door__Group_6__1_in_rule__Door__Group_6__09600 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Door__Group_6__0__Impl9628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_6__1__Impl_in_rule__Door__Group_6__19659 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Door__Group_6__2_in_rule__Door__Group_6__19662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Door__Group_6__1__Impl9690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_6__2__Impl_in_rule__Door__Group_6__29721 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Door__Group_6__3_in_rule__Door__Group_6__29724 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__HeightAssignment_6_2_in_rule__Door__Group_6__2__Impl9751 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_6__3__Impl_in_rule__Door__Group_6__39781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Door__Group_6__3__Impl9809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_7__0__Impl_in_rule__Door__Group_7__09848 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Door__Group_7__1_in_rule__Door__Group_7__09851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Door__Group_7__0__Impl9879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_7__1__Impl_in_rule__Door__Group_7__19910 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Door__Group_7__2_in_rule__Door__Group_7__19913 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Door__Group_7__1__Impl9941 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_7__2__Impl_in_rule__Door__Group_7__29972 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Door__Group_7__3_in_rule__Door__Group_7__29975 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__TextureAssignment_7_2_in_rule__Door__Group_7__2__Impl10002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_7__3__Impl_in_rule__Door__Group_7__310032 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Door__Group_7__3__Impl10060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_8__0__Impl_in_rule__Door__Group_8__010099 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Door__Group_8__1_in_rule__Door__Group_8__010102 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__MarginAssignment_8_0_in_rule__Door__Group_8__0__Impl10129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Door__Group_8__1__Impl_in_rule__Door__Group_8__110159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Door__Group_8__1__Impl10187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__0__Impl_in_rule__Window__Group__010222 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Window__Group__1_in_rule__Window__Group__010225 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Window__Group__0__Impl10253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__1__Impl_in_rule__Window__Group__110284 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Window__Group__2_in_rule__Window__Group__110287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__NameAssignment_1_in_rule__Window__Group__1__Impl10314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__2__Impl_in_rule__Window__Group__210344 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__3_in_rule__Window__Group__210347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Window__Group__2__Impl10375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__3__Impl_in_rule__Window__Group__310406 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__4_in_rule__Window__Group__310409 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_3__0_in_rule__Window__Group__3__Impl10436 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__4__Impl_in_rule__Window__Group__410467 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__5_in_rule__Window__Group__410470 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_4__0_in_rule__Window__Group__4__Impl10497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__5__Impl_in_rule__Window__Group__510528 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__6_in_rule__Window__Group__510531 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_5__0_in_rule__Window__Group__5__Impl10558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__6__Impl_in_rule__Window__Group__610589 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__7_in_rule__Window__Group__610592 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_6__0_in_rule__Window__Group__6__Impl10619 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__7__Impl_in_rule__Window__Group__710650 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__8_in_rule__Window__Group__710653 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_7__0_in_rule__Window__Group__7__Impl10680 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__8__Impl_in_rule__Window__Group__810711 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__9_in_rule__Window__Group__810714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_8__0_in_rule__Window__Group__8__Impl10741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__9__Impl_in_rule__Window__Group__910772 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__10_in_rule__Window__Group__910775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_9__0_in_rule__Window__Group__9__Impl10802 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group__10__Impl_in_rule__Window__Group__1010833 = new BitSet(new long[]{0x000000D101322000L});
    public static final BitSet FOLLOW_rule__Window__Group__11_in_rule__Window__Group__1010836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__PointsAssignment_10_in_rule__Window__Group__10__Impl10863 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Window__Group__11__Impl_in_rule__Window__Group__1110894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Window__Group__11__Impl10922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_3__0__Impl_in_rule__Window__Group_3__010977 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_3__1_in_rule__Window__Group_3__010980 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__TranslationAssignment_3_0_in_rule__Window__Group_3__0__Impl11007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_3__1__Impl_in_rule__Window__Group_3__111037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_3__1__Impl11065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_4__0__Impl_in_rule__Window__Group_4__011100 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Window__Group_4__1_in_rule__Window__Group_4__011103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Window__Group_4__0__Impl11131 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_4__1__Impl_in_rule__Window__Group_4__111162 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Window__Group_4__2_in_rule__Window__Group_4__111165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Window__Group_4__1__Impl11193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_4__2__Impl_in_rule__Window__Group_4__211224 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_4__3_in_rule__Window__Group_4__211227 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__PositionAssignment_4_2_in_rule__Window__Group_4__2__Impl11254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_4__3__Impl_in_rule__Window__Group_4__311284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_4__3__Impl11312 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_5__0__Impl_in_rule__Window__Group_5__011351 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Window__Group_5__1_in_rule__Window__Group_5__011354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Window__Group_5__0__Impl11382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_5__1__Impl_in_rule__Window__Group_5__111413 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Window__Group_5__2_in_rule__Window__Group_5__111416 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Window__Group_5__1__Impl11444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_5__2__Impl_in_rule__Window__Group_5__211475 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_5__3_in_rule__Window__Group_5__211478 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__WidthAssignment_5_2_in_rule__Window__Group_5__2__Impl11505 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_5__3__Impl_in_rule__Window__Group_5__311535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_5__3__Impl11563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_6__0__Impl_in_rule__Window__Group_6__011602 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Window__Group_6__1_in_rule__Window__Group_6__011605 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Window__Group_6__0__Impl11633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_6__1__Impl_in_rule__Window__Group_6__111664 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Window__Group_6__2_in_rule__Window__Group_6__111667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Window__Group_6__1__Impl11695 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_6__2__Impl_in_rule__Window__Group_6__211726 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_6__3_in_rule__Window__Group_6__211729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__HeightAssignment_6_2_in_rule__Window__Group_6__2__Impl11756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_6__3__Impl_in_rule__Window__Group_6__311786 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_6__3__Impl11814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_7__0__Impl_in_rule__Window__Group_7__011853 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Window__Group_7__1_in_rule__Window__Group_7__011856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__Window__Group_7__0__Impl11884 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_7__1__Impl_in_rule__Window__Group_7__111915 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Window__Group_7__2_in_rule__Window__Group_7__111918 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Window__Group_7__1__Impl11946 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_7__2__Impl_in_rule__Window__Group_7__211977 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_7__3_in_rule__Window__Group_7__211980 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__HeightAboveGroundAssignment_7_2_in_rule__Window__Group_7__2__Impl12007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_7__3__Impl_in_rule__Window__Group_7__312037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_7__3__Impl12065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_8__0__Impl_in_rule__Window__Group_8__012104 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Window__Group_8__1_in_rule__Window__Group_8__012107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Window__Group_8__0__Impl12135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_8__1__Impl_in_rule__Window__Group_8__112166 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Window__Group_8__2_in_rule__Window__Group_8__112169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Window__Group_8__1__Impl12197 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_8__2__Impl_in_rule__Window__Group_8__212228 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_8__3_in_rule__Window__Group_8__212231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__TextureAssignment_8_2_in_rule__Window__Group_8__2__Impl12258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_8__3__Impl_in_rule__Window__Group_8__312288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_8__3__Impl12316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_9__0__Impl_in_rule__Window__Group_9__012355 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Window__Group_9__1_in_rule__Window__Group_9__012358 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__MarginAssignment_9_0_in_rule__Window__Group_9__0__Impl12385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Window__Group_9__1__Impl_in_rule__Window__Group_9__112415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Window__Group_9__1__Impl12443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__0__Impl_in_rule__Margin__Group__012478 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Margin__Group__1_in_rule__Margin__Group__012481 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Margin__Group__0__Impl12509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__1__Impl_in_rule__Margin__Group__112540 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Margin__Group__2_in_rule__Margin__Group__112543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__NameAssignment_1_in_rule__Margin__Group__1__Impl12570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__2__Impl_in_rule__Margin__Group__212600 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__Margin__Group__3_in_rule__Margin__Group__212603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Margin__Group__2__Impl12631 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__3__Impl_in_rule__Margin__Group__312662 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Margin__Group__4_in_rule__Margin__Group__312665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Margin__Group__3__Impl12693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__4__Impl_in_rule__Margin__Group__412724 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Margin__Group__5_in_rule__Margin__Group__412727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Margin__Group__4__Impl12755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__5__Impl_in_rule__Margin__Group__512786 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Margin__Group__6_in_rule__Margin__Group__512789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__ValueAssignment_5_in_rule__Margin__Group__5__Impl12816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__6__Impl_in_rule__Margin__Group__612846 = new BitSet(new long[]{0x0000000000202000L});
    public static final BitSet FOLLOW_rule__Margin__Group__7_in_rule__Margin__Group__612849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Margin__Group__6__Impl12877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__7__Impl_in_rule__Margin__Group__712908 = new BitSet(new long[]{0x0000000000202000L});
    public static final BitSet FOLLOW_rule__Margin__Group__8_in_rule__Margin__Group__712911 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__0_in_rule__Margin__Group__7__Impl12938 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group__8__Impl_in_rule__Margin__Group__812969 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Margin__Group__8__Impl12997 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__0__Impl_in_rule__Margin__Group_7__013046 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__1_in_rule__Margin__Group_7__013049 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Margin__Group_7__0__Impl13077 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__1__Impl_in_rule__Margin__Group_7__113108 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__2_in_rule__Margin__Group_7__113111 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Margin__Group_7__1__Impl13139 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__2__Impl_in_rule__Margin__Group_7__213170 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__3_in_rule__Margin__Group_7__213173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__TextureAssignment_7_2_in_rule__Margin__Group_7__2__Impl13200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Margin__Group_7__3__Impl_in_rule__Margin__Group_7__313230 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Margin__Group_7__3__Impl13258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__0__Impl_in_rule__Building__Group__013297 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Building__Group__1_in_rule__Building__Group__013300 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Building__Group__0__Impl13328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__1__Impl_in_rule__Building__Group__113359 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Building__Group__2_in_rule__Building__Group__113362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__NameAssignment_1_in_rule__Building__Group__1__Impl13389 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__2__Impl_in_rule__Building__Group__213419 = new BitSet(new long[]{0x0000000011000000L});
    public static final BitSet FOLLOW_rule__Building__Group__3_in_rule__Building__Group__213422 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Building__Group__2__Impl13450 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__3__Impl_in_rule__Building__Group__313481 = new BitSet(new long[]{0x0000000011000000L});
    public static final BitSet FOLLOW_rule__Building__Group__4_in_rule__Building__Group__313484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group_3__0_in_rule__Building__Group__3__Impl13511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__4__Impl_in_rule__Building__Group__413542 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Building__Group__5_in_rule__Building__Group__413545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Building__Group__4__Impl13573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__5__Impl_in_rule__Building__Group__513604 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Building__Group__6_in_rule__Building__Group__513607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Building__Group__5__Impl13635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__6__Impl_in_rule__Building__Group__613666 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Building__Group__7_in_rule__Building__Group__613669 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__PrototypeAssignment_6_in_rule__Building__Group__6__Impl13696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__7__Impl_in_rule__Building__Group__713726 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Building__Group__8_in_rule__Building__Group__713729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Building__Group__7__Impl13757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group__8__Impl_in_rule__Building__Group__813788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Building__Group__8__Impl13816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group_3__0__Impl_in_rule__Building__Group_3__013865 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Building__Group_3__1_in_rule__Building__Group_3__013868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__TranslationAssignment_3_0_in_rule__Building__Group_3__0__Impl13895 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Building__Group_3__1__Impl_in_rule__Building__Group_3__113925 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Building__Group_3__1__Impl13953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__0__Impl_in_rule__Circle__Group__013988 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Circle__Group__1_in_rule__Circle__Group__013991 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Circle__Group__0__Impl14019 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__1__Impl_in_rule__Circle__Group__114050 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Circle__Group__2_in_rule__Circle__Group__114053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__NameAssignment_1_in_rule__Circle__Group__1__Impl14080 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__2__Impl_in_rule__Circle__Group__214110 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Circle__Group__3_in_rule__Circle__Group__214113 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Circle__Group__2__Impl14141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__3__Impl_in_rule__Circle__Group__314172 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Circle__Group__4_in_rule__Circle__Group__314175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__TranslationAssignment_3_in_rule__Circle__Group__3__Impl14202 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__4__Impl_in_rule__Circle__Group__414232 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__Circle__Group__5_in_rule__Circle__Group__414235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Circle__Group__4__Impl14263 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__5__Impl_in_rule__Circle__Group__514294 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Circle__Group__6_in_rule__Circle__Group__514297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Circle__Group__5__Impl14325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__6__Impl_in_rule__Circle__Group__614356 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Circle__Group__7_in_rule__Circle__Group__614359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Circle__Group__6__Impl14387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__7__Impl_in_rule__Circle__Group__714418 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Circle__Group__8_in_rule__Circle__Group__714421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__RadiusAssignment_7_in_rule__Circle__Group__7__Impl14448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__8__Impl_in_rule__Circle__Group__814478 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Circle__Group__9_in_rule__Circle__Group__814481 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Circle__Group__8__Impl14509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__9__Impl_in_rule__Circle__Group__914540 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Circle__Group__10_in_rule__Circle__Group__914543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Circle__Group__9__Impl14571 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__10__Impl_in_rule__Circle__Group__1014602 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Circle__Group__11_in_rule__Circle__Group__1014605 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Circle__Group__10__Impl14633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__11__Impl_in_rule__Circle__Group__1114664 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Circle__Group__12_in_rule__Circle__Group__1114667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__HeightAssignment_11_in_rule__Circle__Group__11__Impl14694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__12__Impl_in_rule__Circle__Group__1214724 = new BitSet(new long[]{0x0000008000202000L});
    public static final BitSet FOLLOW_rule__Circle__Group__13_in_rule__Circle__Group__1214727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Circle__Group__12__Impl14755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__13__Impl_in_rule__Circle__Group__1314786 = new BitSet(new long[]{0x0000008000202000L});
    public static final BitSet FOLLOW_rule__Circle__Group__14_in_rule__Circle__Group__1314789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__0_in_rule__Circle__Group__13__Impl14816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__14__Impl_in_rule__Circle__Group__1414847 = new BitSet(new long[]{0x0000008000202000L});
    public static final BitSet FOLLOW_rule__Circle__Group__15_in_rule__Circle__Group__1414850 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_14__0_in_rule__Circle__Group__14__Impl14877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group__15__Impl_in_rule__Circle__Group__1514908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Circle__Group__15__Impl14936 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__0__Impl_in_rule__Circle__Group_13__014999 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__1_in_rule__Circle__Group_13__015002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Circle__Group_13__0__Impl15030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__1__Impl_in_rule__Circle__Group_13__115061 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__2_in_rule__Circle__Group_13__115064 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Circle__Group_13__1__Impl15092 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__2__Impl_in_rule__Circle__Group_13__215123 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__3_in_rule__Circle__Group_13__215126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__TextureAssignment_13_2_in_rule__Circle__Group_13__2__Impl15153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_13__3__Impl_in_rule__Circle__Group_13__315183 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Circle__Group_13__3__Impl15211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_14__0__Impl_in_rule__Circle__Group_14__015250 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Circle__Group_14__1_in_rule__Circle__Group_14__015253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__MarginAssignment_14_0_in_rule__Circle__Group_14__0__Impl15280 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Circle__Group_14__1__Impl_in_rule__Circle__Group_14__115310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Circle__Group_14__1__Impl15338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__0__Impl_in_rule__Polygon__Group__015373 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Polygon__Group__1_in_rule__Polygon__Group__015376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__Polygon__Group__0__Impl15404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__1__Impl_in_rule__Polygon__Group__115435 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__2_in_rule__Polygon__Group__115438 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__NameAssignment_1_in_rule__Polygon__Group__1__Impl15465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__2__Impl_in_rule__Polygon__Group__215495 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__3_in_rule__Polygon__Group__215498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Polygon__Group__2__Impl15526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__3__Impl_in_rule__Polygon__Group__315557 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__4_in_rule__Polygon__Group__315560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__TranslationAssignment_3_in_rule__Polygon__Group__3__Impl15587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__4__Impl_in_rule__Polygon__Group__415617 = new BitSet(new long[]{0x0000008100322000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__5_in_rule__Polygon__Group__415620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Polygon__Group__4__Impl15648 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__5__Impl_in_rule__Polygon__Group__515679 = new BitSet(new long[]{0x0000008100322000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__6_in_rule__Polygon__Group__515682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__0_in_rule__Polygon__Group__5__Impl15709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__6__Impl_in_rule__Polygon__Group__615740 = new BitSet(new long[]{0x0000008100322000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__7_in_rule__Polygon__Group__615743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__0_in_rule__Polygon__Group__6__Impl15770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__7__Impl_in_rule__Polygon__Group__715801 = new BitSet(new long[]{0x0000008100322000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__8_in_rule__Polygon__Group__715804 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__0_in_rule__Polygon__Group__7__Impl15831 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__8__Impl_in_rule__Polygon__Group__815862 = new BitSet(new long[]{0x0000008100322000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__9_in_rule__Polygon__Group__815865 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_8__0_in_rule__Polygon__Group__8__Impl15892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__9__Impl_in_rule__Polygon__Group__915923 = new BitSet(new long[]{0x0000008100322000L});
    public static final BitSet FOLLOW_rule__Polygon__Group__10_in_rule__Polygon__Group__915926 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__PointsAssignment_9_in_rule__Polygon__Group__9__Impl15953 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group__10__Impl_in_rule__Polygon__Group__1015984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Polygon__Group__10__Impl16012 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__0__Impl_in_rule__Polygon__Group_5__016065 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__1_in_rule__Polygon__Group_5__016068 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Polygon__Group_5__0__Impl16096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__1__Impl_in_rule__Polygon__Group_5__116127 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__2_in_rule__Polygon__Group_5__116130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Polygon__Group_5__1__Impl16158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__2__Impl_in_rule__Polygon__Group_5__216189 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__3_in_rule__Polygon__Group_5__216192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__WidthAssignment_5_2_in_rule__Polygon__Group_5__2__Impl16219 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_5__3__Impl_in_rule__Polygon__Group_5__316249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Polygon__Group_5__3__Impl16277 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__0__Impl_in_rule__Polygon__Group_6__016316 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__1_in_rule__Polygon__Group_6__016319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Polygon__Group_6__0__Impl16347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__1__Impl_in_rule__Polygon__Group_6__116378 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__2_in_rule__Polygon__Group_6__116381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Polygon__Group_6__1__Impl16409 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__2__Impl_in_rule__Polygon__Group_6__216440 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__3_in_rule__Polygon__Group_6__216443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__HeightAssignment_6_2_in_rule__Polygon__Group_6__2__Impl16470 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_6__3__Impl_in_rule__Polygon__Group_6__316500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Polygon__Group_6__3__Impl16528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__0__Impl_in_rule__Polygon__Group_7__016567 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__1_in_rule__Polygon__Group_7__016570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Polygon__Group_7__0__Impl16598 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__1__Impl_in_rule__Polygon__Group_7__116629 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__2_in_rule__Polygon__Group_7__116632 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Polygon__Group_7__1__Impl16660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__2__Impl_in_rule__Polygon__Group_7__216691 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__3_in_rule__Polygon__Group_7__216694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__TextureAssignment_7_2_in_rule__Polygon__Group_7__2__Impl16721 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_7__3__Impl_in_rule__Polygon__Group_7__316751 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Polygon__Group_7__3__Impl16779 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_8__0__Impl_in_rule__Polygon__Group_8__016818 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Polygon__Group_8__1_in_rule__Polygon__Group_8__016821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__MarginAssignment_8_0_in_rule__Polygon__Group_8__0__Impl16848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Polygon__Group_8__1__Impl_in_rule__Polygon__Group_8__116878 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Polygon__Group_8__1__Impl16906 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleType_in_rule__Model__ElementsAssignment16946 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Library__NameAssignment_116977 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTexture_in_rule__Library__TexturesAssignment_317008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrototype_in_rule__Library__PrototypesAssignment_417039 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Scene__NameAssignment_117070 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParametric_in_rule__Scene__ParametricsAssignment_317101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBuilding_in_rule__Scene__BuildingsAssignment_417132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSurface_in_rule__Scene__SurfacesAssignment_517163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Parametric__NameAssignment_117194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Parametric__TranslationAssignment_317225 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Parametric__WidthAssignment_717256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Parametric__LengthAssignment_9_217287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Parametric__HeightAssignment_10_217318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Parametric__TextureAssignment_11_217349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Texture__NameAssignment_117380 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Texture__ImgURLAssignment_3_217411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Texture__ColorAssignment_4_217442 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Translation__XCordAssignment_217473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Translation__YCordAssignment_417504 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Translation__ZCordAssignment_617535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Prototype__NameAssignment_117566 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Prototype__TranslationAssignment_317597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWall_in_rule__Prototype__WallsAssignment_517628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOpening_in_rule__Prototype__OpeningsAssignment_617659 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRoof_in_rule__Prototype__RoofAssignment_717690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Wall__NameAssignment_117721 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePoint_in_rule__Wall__StartAssignment_517752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePoint_in_rule__Wall__EndAssignment_917783 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Wall__HeightAssignment_1317814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Wall__TextureAssignment_1717845 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoor_in_rule__Wall__DoorAssignment_1917876 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWindow_in_rule__Wall__WindowsAssignment_2017907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Point__XCordAssignment_217938 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Point__YCordAssignment_417969 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Roof__NameAssignment_118000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Roof__ElevationAssignment_3_218031 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Roof__TextureAssignment_4_218062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Door__NameAssignment_118093 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Door__TranslationAssignment_3_018124 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Door__PositionAssignment_4_218155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Door__WidthAssignment_5_218186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Door__HeightAssignment_6_218217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Door__TextureAssignment_7_218248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMargin_in_rule__Door__MarginAssignment_8_018279 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Window__NameAssignment_118310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Window__TranslationAssignment_3_018341 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Window__PositionAssignment_4_218372 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Window__WidthAssignment_5_218403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Window__HeightAssignment_6_218434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Window__HeightAboveGroundAssignment_7_218465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Window__TextureAssignment_8_218496 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMargin_in_rule__Window__MarginAssignment_9_018527 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePoint_in_rule__Window__PointsAssignment_1018558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Margin__NameAssignment_118589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Margin__ValueAssignment_518620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Margin__TextureAssignment_7_218651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Building__NameAssignment_118682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Building__TranslationAssignment_3_018713 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Building__PrototypeAssignment_618744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Circle__NameAssignment_118775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Circle__TranslationAssignment_318806 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Circle__RadiusAssignment_718837 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Circle__HeightAssignment_1118868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Circle__TextureAssignment_13_218899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMargin_in_rule__Circle__MarginAssignment_14_018930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Polygon__NameAssignment_118961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTranslation_in_rule__Polygon__TranslationAssignment_318992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Polygon__WidthAssignment_5_219023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Polygon__HeightAssignment_6_219054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Polygon__TextureAssignment_7_219085 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMargin_in_rule__Polygon__MarginAssignment_8_019116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePoint_in_rule__Polygon__PointsAssignment_919147 = new BitSet(new long[]{0x0000000000000002L});

}